{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# toad使用教程\n",
    "\n",
    "toad是针对工业届建模而开发的工具包，针对风险评分卡的建模有针对性的功能。toad持续更新优化中，本教程针对toad的各类主要功能进行介绍，包括：\n",
    "1. EDA相关功能\n",
    "2. 如何使用toad高效分箱并进行特征筛选\n",
    "3. WOE转化\n",
    "4. 逐步回归特征筛选\n",
    "5. 模型检验和评判\n",
    "6. 标准评分卡转化和输出\n",
    "7. 其他功能\n",
    "\n",
    "-----------------\n",
    "-----------------\n",
    "\n",
    "### \n",
    "本教程将使用高维的数据来演示如何使用toad高效建模"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***安装与升级：***\n",
    "1. pip安装：!pip install toad\n",
    "2. conda安装：conda install toad --channel conda-forge\n",
    "3. 升级：!pip install -U toad; conda install -U toad --channel conda-forge\n",
    "\n",
    "***有使用问题欢迎到[github](https://github.com/amphibian-dev/toad)上提issue***"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import toad"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'\\n请升级到最新版本\\n'"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'''\n",
    "请升级到最新版本\n",
    "'''"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "-----------------------\n",
    "### <font color='blue'>### 0. 读取数据</font>\n",
    "\n",
    "演示数据为165维，包括一列主键，target列，和month列。其中包含了若干个离散型变量和连续性变量，且有一定的缺失值。\n",
    "\n",
    "***本教程将展示遇到这类很“脏”的数据时，如何使用toad进行有效且高效的建模。***"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Shape: (108940, 167)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>APP_ID_C</th>\n",
       "      <th>target</th>\n",
       "      <th>var_d1</th>\n",
       "      <th>var_d2</th>\n",
       "      <th>var_d3</th>\n",
       "      <th>var_d4</th>\n",
       "      <th>var_d5</th>\n",
       "      <th>var_d6</th>\n",
       "      <th>var_d7</th>\n",
       "      <th>var_d8</th>\n",
       "      <th>...</th>\n",
       "      <th>var_l_118</th>\n",
       "      <th>var_l_119</th>\n",
       "      <th>var_l_120</th>\n",
       "      <th>var_l_121</th>\n",
       "      <th>var_l_122</th>\n",
       "      <th>var_l_123</th>\n",
       "      <th>var_l_124</th>\n",
       "      <th>var_l_125</th>\n",
       "      <th>var_l_126</th>\n",
       "      <th>month</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>app_1</td>\n",
       "      <td>0</td>\n",
       "      <td>Hit-6+ Vintage</td>\n",
       "      <td>816.0</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>Post-Graduate</td>\n",
       "      <td>M</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>SELF-EMPLOYED</td>\n",
       "      <td>Y</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2019-03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>app_2</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>841.0</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>Post-Graduate</td>\n",
       "      <td>F</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>SALARIED</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2019-03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>app_3</td>\n",
       "      <td>0</td>\n",
       "      <td>Hit-6+ Vintage</td>\n",
       "      <td>791.0</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>Post-Graduate</td>\n",
       "      <td>M</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>PROPRIETOR</td>\n",
       "      <td>Y</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.088235</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.100000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.011494</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2019-03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>app_4</td>\n",
       "      <td>0</td>\n",
       "      <td>Hit-6+ Vintage</td>\n",
       "      <td>821.0</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>Graduate</td>\n",
       "      <td>M</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>SELF-EMPLOYED</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2019-03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>app_5</td>\n",
       "      <td>0</td>\n",
       "      <td>Hit-6+ Vintage</td>\n",
       "      <td>807.0</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>Graduate</td>\n",
       "      <td>M</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>SALARIED</td>\n",
       "      <td>Y</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.540541</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.285714</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2019-03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>app_6</td>\n",
       "      <td>0</td>\n",
       "      <td>Hit-6+ Vintage</td>\n",
       "      <td>788.0</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>Others</td>\n",
       "      <td>M</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>SALARIED</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2019-03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>app_7</td>\n",
       "      <td>0</td>\n",
       "      <td>Hit-6+ Vintage</td>\n",
       "      <td>779.0</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>Graduate</td>\n",
       "      <td>M</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>ATTORNEY AT LAW</td>\n",
       "      <td>Y</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.722222</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.777778</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.380952</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.571429</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2019-03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>app_8</td>\n",
       "      <td>0</td>\n",
       "      <td>Hit-6+ Vintage</td>\n",
       "      <td>801.0</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>Post-Graduate</td>\n",
       "      <td>M</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>SAL(RETIRAL AGE 60)</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2019-03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>app_9</td>\n",
       "      <td>0</td>\n",
       "      <td>Hit-6+ Vintage</td>\n",
       "      <td>815.0</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>Graduate</td>\n",
       "      <td>F</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Y</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2019-03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>app_10</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>804.0</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>Graduate</td>\n",
       "      <td>M</td>\n",
       "      <td>RESIDENT INDIAN</td>\n",
       "      <td>PROPRIETOR</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2019-03</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>10 rows × 167 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "  APP_ID_C  target          var_d1  var_d2           var_d3         var_d4  \\\n",
       "0    app_1       0  Hit-6+ Vintage   816.0  RESIDENT INDIAN  Post-Graduate   \n",
       "1    app_2       0             NaN   841.0  RESIDENT INDIAN  Post-Graduate   \n",
       "2    app_3       0  Hit-6+ Vintage   791.0  RESIDENT INDIAN  Post-Graduate   \n",
       "3    app_4       0  Hit-6+ Vintage   821.0  RESIDENT INDIAN       Graduate   \n",
       "4    app_5       0  Hit-6+ Vintage   807.0  RESIDENT INDIAN       Graduate   \n",
       "5    app_6       0  Hit-6+ Vintage   788.0  RESIDENT INDIAN         Others   \n",
       "6    app_7       0  Hit-6+ Vintage   779.0  RESIDENT INDIAN       Graduate   \n",
       "7    app_8       0  Hit-6+ Vintage   801.0  RESIDENT INDIAN  Post-Graduate   \n",
       "8    app_9       0  Hit-6+ Vintage   815.0  RESIDENT INDIAN       Graduate   \n",
       "9   app_10       0             NaN   804.0  RESIDENT INDIAN       Graduate   \n",
       "\n",
       "  var_d5           var_d6               var_d7 var_d8  ...  var_l_118  \\\n",
       "0      M  RESIDENT INDIAN        SELF-EMPLOYED      Y  ...        0.0   \n",
       "1      F  RESIDENT INDIAN             SALARIED      N  ...        0.0   \n",
       "2      M  RESIDENT INDIAN           PROPRIETOR      Y  ...        0.0   \n",
       "3      M  RESIDENT INDIAN        SELF-EMPLOYED      N  ...        0.0   \n",
       "4      M  RESIDENT INDIAN             SALARIED      Y  ...        0.0   \n",
       "5      M  RESIDENT INDIAN             SALARIED      N  ...        0.0   \n",
       "6      M  RESIDENT INDIAN      ATTORNEY AT LAW      Y  ...        0.0   \n",
       "7      M  RESIDENT INDIAN  SAL(RETIRAL AGE 60)      N  ...        0.0   \n",
       "8      F  RESIDENT INDIAN                  NaN      Y  ...        0.0   \n",
       "9      M  RESIDENT INDIAN           PROPRIETOR      N  ...        0.0   \n",
       "\n",
       "  var_l_119  var_l_120  var_l_121  var_l_122  var_l_123  var_l_124  var_l_125  \\\n",
       "0  0.000000        0.0   0.000000        0.0   0.000000        0.0   0.000000   \n",
       "1  0.000000        0.0   0.000000        0.0   0.000000        0.0   0.000000   \n",
       "2  0.088235        0.0   0.100000        0.0   0.011494        0.5   0.000000   \n",
       "3  0.000000        0.0   0.000000        0.0   0.000000        0.0   0.000000   \n",
       "4  0.000000        0.0   0.000000        0.0   0.540541        0.0   0.285714   \n",
       "5  0.000000        0.0   0.000000        0.0   0.000000        0.0   0.000000   \n",
       "6  0.722222        0.0   0.777778        0.0   0.380952        0.0   0.571429   \n",
       "7  0.000000        0.0   0.000000        0.0   0.000000        0.0   0.000000   \n",
       "8  0.000000        0.0   0.000000        0.0   0.000000        0.0   0.000000   \n",
       "9  0.000000        0.0   0.000000        0.0   0.000000        0.0   0.000000   \n",
       "\n",
       "   var_l_126    month  \n",
       "0        0.0  2019-03  \n",
       "1        0.0  2019-03  \n",
       "2        0.0  2019-03  \n",
       "3        0.0  2019-03  \n",
       "4        0.0  2019-03  \n",
       "5        0.0  2019-03  \n",
       "6        0.0  2019-03  \n",
       "7        0.0  2019-03  \n",
       "8        0.0  2019-03  \n",
       "9        0.0  2019-03  \n",
       "\n",
       "[10 rows x 167 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = pd.read_csv('train.csv')\n",
    "print('Shape:',data.shape)\n",
    "data.head(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 数据包含2019年5月 - 7月的数据。其中我们将用3月和4月数据用于训练样本，5月、6月、7月数据作为时间外样本（OOT）。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "month: ['2019-03' '2019-04' '2019-05' '2019-06' '2019-07']\n"
     ]
    }
   ],
   "source": [
    "print('month:',data.month.unique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "train size: (43576, 167) \n",
      "OOT size: (65364, 167)\n"
     ]
    }
   ],
   "source": [
    "train = data.loc[data.month.isin(['2019-03','2019-04'])==True,:]\n",
    "OOT = data.loc[data.month.isin(['2019-03','2019-04'])==False,:]\n",
    "\n",
    "#train = data.loc[data.month.isin(['Mar-19','Apr-19'])==True,:]\n",
    "#OOT = data.loc[data.month.isin(['Mar-19','Apr-19'])==False,:]\n",
    "print('train size:',train.shape,'\\nOOT size:',OOT.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "-----------------------\n",
    "### <font color='blue'>### I. EDA相关功能</font>\n",
    "\n",
    "#### 1. toad.detect(dataframe): \n",
    "\n",
    "用于检测数据情况（EDA）。输出每列特征的统计性特征和其他信息，主要的信息包括：缺失值、unique values、数值变量的平均值、离散值变量的众数等。如下面的cell，可以得到以下信息：\n",
    "\n",
    "a. 正样本占比2.2%：target的mean是0.0219479\n",
    "\n",
    "b. 部分特征有缺失值，且缺失值不等：注意missing列。\n",
    "\n",
    "c. 数值型变量和离散型变量有若干个，部分离散型变量的unique values较多，有10多个甚至84个：离散型变量的unique列。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>type</th>\n",
       "      <th>size</th>\n",
       "      <th>missing</th>\n",
       "      <th>unique</th>\n",
       "      <th>mean_or_top1</th>\n",
       "      <th>std_or_top2</th>\n",
       "      <th>min_or_top3</th>\n",
       "      <th>1%_or_top4</th>\n",
       "      <th>10%_or_top5</th>\n",
       "      <th>50%_or_bottom5</th>\n",
       "      <th>75%_or_bottom4</th>\n",
       "      <th>90%_or_bottom3</th>\n",
       "      <th>99%_or_bottom2</th>\n",
       "      <th>max_or_bottom1</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>APP_ID_C</th>\n",
       "      <td>object</td>\n",
       "      <td>43576</td>\n",
       "      <td>0.00%</td>\n",
       "      <td>43576</td>\n",
       "      <td>app_36227:0.00%</td>\n",
       "      <td>app_29819:0.00%</td>\n",
       "      <td>app_35476:0.00%</td>\n",
       "      <td>app_10104:0.00%</td>\n",
       "      <td>app_35794:0.00%</td>\n",
       "      <td>app_25789:0.00%</td>\n",
       "      <td>app_36858:0.00%</td>\n",
       "      <td>app_12750:0.00%</td>\n",
       "      <td>app_24:0.00%</td>\n",
       "      <td>app_13004:0.00%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>target</th>\n",
       "      <td>int64</td>\n",
       "      <td>43576</td>\n",
       "      <td>0.00%</td>\n",
       "      <td>2</td>\n",
       "      <td>0.0213191</td>\n",
       "      <td>0.144447</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_d1</th>\n",
       "      <td>object</td>\n",
       "      <td>43576</td>\n",
       "      <td>37.57%</td>\n",
       "      <td>2</td>\n",
       "      <td>Hit-6+ Vintage:60.32%</td>\n",
       "      <td>Hit-lt 6 Vinta:2.10%</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>Hit-6+ Vintage:60.32%</td>\n",
       "      <td>Hit-lt 6 Vinta:2.10%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_d2</th>\n",
       "      <td>float64</td>\n",
       "      <td>43576</td>\n",
       "      <td>5.44%</td>\n",
       "      <td>389</td>\n",
       "      <td>570.492</td>\n",
       "      <td>355.565</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>778</td>\n",
       "      <td>810</td>\n",
       "      <td>832</td>\n",
       "      <td>864</td>\n",
       "      <td>900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_d3</th>\n",
       "      <td>object</td>\n",
       "      <td>43576</td>\n",
       "      <td>5.31%</td>\n",
       "      <td>6</td>\n",
       "      <td>RESIDENT INDIAN:94.00%</td>\n",
       "      <td>NON-RESIDENT INDIAN:0.64%</td>\n",
       "      <td>PARTNERSHIP FIRM:0.02%</td>\n",
       "      <td>PRIVATE LTD COMPANIES:0.02%</td>\n",
       "      <td>PUBLIC LTD COMPANIES:0.00%</td>\n",
       "      <td>NON-RESIDENT INDIAN:0.64%</td>\n",
       "      <td>PARTNERSHIP FIRM:0.02%</td>\n",
       "      <td>PRIVATE LTD COMPANIES:0.02%</td>\n",
       "      <td>PUBLIC LTD COMPANIES:0.00%</td>\n",
       "      <td>OVERSEAS CITIZEN OF INDIA:0.00%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_d4</th>\n",
       "      <td>object</td>\n",
       "      <td>43576</td>\n",
       "      <td>1.08%</td>\n",
       "      <td>5</td>\n",
       "      <td>Graduate:55.30%</td>\n",
       "      <td>Post-Graduate:21.57%</td>\n",
       "      <td>Others:10.71%</td>\n",
       "      <td>Under Graduate:10.67%</td>\n",
       "      <td>Professional:0.67%</td>\n",
       "      <td>Graduate:55.30%</td>\n",
       "      <td>Post-Graduate:21.57%</td>\n",
       "      <td>Others:10.71%</td>\n",
       "      <td>Under Graduate:10.67%</td>\n",
       "      <td>Professional:0.67%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_d5</th>\n",
       "      <td>object</td>\n",
       "      <td>43576</td>\n",
       "      <td>1.08%</td>\n",
       "      <td>3</td>\n",
       "      <td>M:79.70%</td>\n",
       "      <td>F:14.33%</td>\n",
       "      <td>O:4.89%</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>M:79.70%</td>\n",
       "      <td>F:14.33%</td>\n",
       "      <td>O:4.89%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_d6</th>\n",
       "      <td>object</td>\n",
       "      <td>43576</td>\n",
       "      <td>1.08%</td>\n",
       "      <td>13</td>\n",
       "      <td>RESIDENT INDIAN:93.34%</td>\n",
       "      <td>PRIVATE LTD COMPANIES:2.57%</td>\n",
       "      <td>PARTNERSHIP FIRM:1.45%</td>\n",
       "      <td>PUBLIC LTD COMPANIES:0.73%</td>\n",
       "      <td>NON-RESIDENT INDIAN:0.64%</td>\n",
       "      <td>CO-OPERATIVE SOCIETIES:0.01%</td>\n",
       "      <td>LIMITED LIABILITY PARTNERSHIP:0.00%</td>\n",
       "      <td>ASSOCIATION:0.00%</td>\n",
       "      <td>TRUST-NGO:0.00%</td>\n",
       "      <td>OVERSEAS CITIZEN OF INDIA:0.00%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_d7</th>\n",
       "      <td>object</td>\n",
       "      <td>43576</td>\n",
       "      <td>1.60%</td>\n",
       "      <td>84</td>\n",
       "      <td>SALARIED:31.43%</td>\n",
       "      <td>PROPRIETOR:31.31%</td>\n",
       "      <td>SELF-EMPLOYED:10.74%</td>\n",
       "      <td>OTHERS:6.40%</td>\n",
       "      <td>FIRST TIME USERS:2.72%</td>\n",
       "      <td>NURSE:0.00%</td>\n",
       "      <td>PHARMACIST:0.00%</td>\n",
       "      <td>RETAIL BUS OPERATOR:0.00%</td>\n",
       "      <td>PRIVATE TAILOR:0.00%</td>\n",
       "      <td>TAXI DRIVER:0.00%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_d8</th>\n",
       "      <td>object</td>\n",
       "      <td>43576</td>\n",
       "      <td>1.08%</td>\n",
       "      <td>2</td>\n",
       "      <td>Y:59.90%</td>\n",
       "      <td>N:39.03%</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>Y:59.90%</td>\n",
       "      <td>N:39.03%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             type   size missing  unique            mean_or_top1  \\\n",
       "APP_ID_C   object  43576   0.00%   43576         app_36227:0.00%   \n",
       "target      int64  43576   0.00%       2               0.0213191   \n",
       "var_d1     object  43576  37.57%       2   Hit-6+ Vintage:60.32%   \n",
       "var_d2    float64  43576   5.44%     389                 570.492   \n",
       "var_d3     object  43576   5.31%       6  RESIDENT INDIAN:94.00%   \n",
       "var_d4     object  43576   1.08%       5         Graduate:55.30%   \n",
       "var_d5     object  43576   1.08%       3                M:79.70%   \n",
       "var_d6     object  43576   1.08%      13  RESIDENT INDIAN:93.34%   \n",
       "var_d7     object  43576   1.60%      84         SALARIED:31.43%   \n",
       "var_d8     object  43576   1.08%       2                Y:59.90%   \n",
       "\n",
       "                          std_or_top2             min_or_top3  \\\n",
       "APP_ID_C              app_29819:0.00%         app_35476:0.00%   \n",
       "target                       0.144447                       0   \n",
       "var_d1           Hit-lt 6 Vinta:2.10%                    None   \n",
       "var_d2                        355.565                      -1   \n",
       "var_d3      NON-RESIDENT INDIAN:0.64%  PARTNERSHIP FIRM:0.02%   \n",
       "var_d4           Post-Graduate:21.57%           Others:10.71%   \n",
       "var_d5                       F:14.33%                 O:4.89%   \n",
       "var_d6    PRIVATE LTD COMPANIES:2.57%  PARTNERSHIP FIRM:1.45%   \n",
       "var_d7              PROPRIETOR:31.31%    SELF-EMPLOYED:10.74%   \n",
       "var_d8                       N:39.03%                    None   \n",
       "\n",
       "                           1%_or_top4                 10%_or_top5  \\\n",
       "APP_ID_C              app_10104:0.00%             app_35794:0.00%   \n",
       "target                              0                           0   \n",
       "var_d1                           None                        None   \n",
       "var_d2                             -1                          -1   \n",
       "var_d3    PRIVATE LTD COMPANIES:0.02%  PUBLIC LTD COMPANIES:0.00%   \n",
       "var_d4          Under Graduate:10.67%          Professional:0.67%   \n",
       "var_d5                           None                        None   \n",
       "var_d6     PUBLIC LTD COMPANIES:0.73%   NON-RESIDENT INDIAN:0.64%   \n",
       "var_d7                   OTHERS:6.40%      FIRST TIME USERS:2.72%   \n",
       "var_d8                           None                        None   \n",
       "\n",
       "                        50%_or_bottom5                       75%_or_bottom4  \\\n",
       "APP_ID_C               app_25789:0.00%                      app_36858:0.00%   \n",
       "target                               0                                    0   \n",
       "var_d1                            None                                 None   \n",
       "var_d2                             778                                  810   \n",
       "var_d3       NON-RESIDENT INDIAN:0.64%               PARTNERSHIP FIRM:0.02%   \n",
       "var_d4                 Graduate:55.30%                 Post-Graduate:21.57%   \n",
       "var_d5                            None                                 None   \n",
       "var_d6    CO-OPERATIVE SOCIETIES:0.01%  LIMITED LIABILITY PARTNERSHIP:0.00%   \n",
       "var_d7                     NURSE:0.00%                     PHARMACIST:0.00%   \n",
       "var_d8                            None                                 None   \n",
       "\n",
       "                       90%_or_bottom3              99%_or_bottom2  \\\n",
       "APP_ID_C              app_12750:0.00%                app_24:0.00%   \n",
       "target                              0                           1   \n",
       "var_d1                           None       Hit-6+ Vintage:60.32%   \n",
       "var_d2                            832                         864   \n",
       "var_d3    PRIVATE LTD COMPANIES:0.02%  PUBLIC LTD COMPANIES:0.00%   \n",
       "var_d4                  Others:10.71%       Under Graduate:10.67%   \n",
       "var_d5                       M:79.70%                    F:14.33%   \n",
       "var_d6              ASSOCIATION:0.00%             TRUST-NGO:0.00%   \n",
       "var_d7      RETAIL BUS OPERATOR:0.00%        PRIVATE TAILOR:0.00%   \n",
       "var_d8                           None                    Y:59.90%   \n",
       "\n",
       "                           max_or_bottom1  \n",
       "APP_ID_C                  app_13004:0.00%  \n",
       "target                                  1  \n",
       "var_d1               Hit-lt 6 Vinta:2.10%  \n",
       "var_d2                                900  \n",
       "var_d3    OVERSEAS CITIZEN OF INDIA:0.00%  \n",
       "var_d4                 Professional:0.67%  \n",
       "var_d5                            O:4.89%  \n",
       "var_d6    OVERSEAS CITIZEN OF INDIA:0.00%  \n",
       "var_d7                  TAXI DRIVER:0.00%  \n",
       "var_d8                           N:39.03%  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "toad.detect(train)[:10]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 2. toad.quality(dataframe, target='target', iv_only=False):\n",
    "\n",
    "\n",
    "输出每个变量的iv值，gini，entropy，和unique values，结果以iv值排序。\"target\"为目标列，\"iv_only\"决定是否只输出iv值。\n",
    "\n",
    "<font color='red'>注意：1. 对于数据量大或高维度数据，建议使用iv_only=True 2. 要去掉主键，日期等高unique values且不用于建模的特征</font>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>iv</th>\n",
       "      <th>gini</th>\n",
       "      <th>entropy</th>\n",
       "      <th>unique</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>var_b19</th>\n",
       "      <td>0.353043</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>88.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_b18</th>\n",
       "      <td>0.317603</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>46.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_d2</th>\n",
       "      <td>0.313443</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>411.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_d7</th>\n",
       "      <td>0.309985</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>95.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_b10</th>\n",
       "      <td>0.301111</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>15726.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_b17</th>\n",
       "      <td>0.240104</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>235.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_b16</th>\n",
       "      <td>0.231403</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>104.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_b24</th>\n",
       "      <td>0.226939</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>30928.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_b20</th>\n",
       "      <td>0.198655</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>34.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_b11</th>\n",
       "      <td>0.187306</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>239.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_l_19</th>\n",
       "      <td>0.160020</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>32240.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_b9</th>\n",
       "      <td>0.157585</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>197.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_l_68</th>\n",
       "      <td>0.150068</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>757.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_l_123</th>\n",
       "      <td>0.146634</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>10602.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>var_l_125</th>\n",
       "      <td>0.146274</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>6338.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 iv  gini  entropy   unique\n",
       "var_b19    0.353043   NaN      NaN     88.0\n",
       "var_b18    0.317603   NaN      NaN     46.0\n",
       "var_d2     0.313443   NaN      NaN    411.0\n",
       "var_d7     0.309985   NaN      NaN     95.0\n",
       "var_b10    0.301111   NaN      NaN  15726.0\n",
       "var_b17    0.240104   NaN      NaN    235.0\n",
       "var_b16    0.231403   NaN      NaN    104.0\n",
       "var_b24    0.226939   NaN      NaN  30928.0\n",
       "var_b20    0.198655   NaN      NaN     34.0\n",
       "var_b11    0.187306   NaN      NaN    239.0\n",
       "var_l_19   0.160020   NaN      NaN  32240.0\n",
       "var_b9     0.157585   NaN      NaN    197.0\n",
       "var_l_68   0.150068   NaN      NaN    757.0\n",
       "var_l_123  0.146634   NaN      NaN  10602.0\n",
       "var_l_125  0.146274   NaN      NaN   6338.0"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "to_drop = ['APP_ID_C','month'] # 去掉ID列和month列\n",
    "toad.quality(data.drop(to_drop,axis=1),'target',iv_only=True)[:15]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "-----------------------\n",
    "### <font color='blue'>### II. 如何使用toad高效分箱并进行特征筛选</font>\n",
    "\n",
    "#### 3. toad.selection.select(dataframe, target='target', empty=0.9, iv=0.02, corr=0.7, return_drop=False, exclude=None):\n",
    "\n",
    "根据缺失值占比，iv值，和高相关性进行变量筛选，赋值为：\n",
    "\n",
    "（1）empty=0.9: 若变量的缺失值大于0.9被删除\n",
    "\n",
    "（2）iv=0.02: 若变量的iv值小于0.02被删除\n",
    "\n",
    "（3）corr=0.7: 若两个相关性高于0.7时，iv值低的变量被删除\n",
    "\n",
    "（4）return_drop=False: 若为True，function将返回被删去的变量列\n",
    "\n",
    "（5）exclude=None: 明确不被删去的列名，输入为list格式\n",
    "\n",
    "如下面的cell，没有变量由于缺失值高被删除，大量变量因为低iv值被删除，部分相关性高的变量被删除。从165个特征中选出了32个变量。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'empty': array([], dtype=float64), 'iv': array(['var_d1', 'var_d4', 'var_d8', 'var_d9', 'var_b5', 'var_b6',\n",
      "       'var_b7', 'var_l_1', 'var_l_2', 'var_l_3', 'var_l_4', 'var_l_5',\n",
      "       'var_l_6', 'var_l_7', 'var_l_8', 'var_l_10', 'var_l_12',\n",
      "       'var_l_14', 'var_l_15', 'var_l_16', 'var_l_17', 'var_l_18',\n",
      "       'var_l_21', 'var_l_23', 'var_l_24', 'var_l_25', 'var_l_26',\n",
      "       'var_l_27', 'var_l_28', 'var_l_29', 'var_l_30', 'var_l_31',\n",
      "       'var_l_32', 'var_l_33', 'var_l_34', 'var_l_35', 'var_l_37',\n",
      "       'var_l_38', 'var_l_39', 'var_l_40', 'var_l_41', 'var_l_42',\n",
      "       'var_l_43', 'var_l_44', 'var_l_45', 'var_l_47', 'var_l_49',\n",
      "       'var_l_51', 'var_l_53', 'var_l_55', 'var_l_56', 'var_l_57',\n",
      "       'var_l_59', 'var_l_61', 'var_l_62', 'var_l_63', 'var_l_65',\n",
      "       'var_l_67', 'var_l_70', 'var_l_72', 'var_l_75', 'var_l_76',\n",
      "       'var_l_77', 'var_l_78', 'var_l_79', 'var_l_80', 'var_l_81',\n",
      "       'var_l_82', 'var_l_83', 'var_l_84', 'var_l_85', 'var_l_86',\n",
      "       'var_l_87', 'var_l_88', 'var_l_90', 'var_l_92', 'var_l_93',\n",
      "       'var_l_94', 'var_l_95', 'var_l_96', 'var_l_97', 'var_l_98',\n",
      "       'var_l_100', 'var_l_102', 'var_l_104', 'var_l_106', 'var_l_108',\n",
      "       'var_l_109', 'var_l_110', 'var_l_112', 'var_l_114', 'var_l_116',\n",
      "       'var_l_117', 'var_l_118', 'var_l_120', 'var_l_122', 'var_l_124',\n",
      "       'var_l_126'], dtype=object), 'corr': array(['var_b27', 'var_b28', 'var_b4', 'var_l_105', 'var_b25', 'var_b2',\n",
      "       'var_l_113', 'var_l_46', 'var_b26', 'var_b8', 'var_b1',\n",
      "       'var_l_103', 'var_l_99', 'var_l_74', 'var_b14', 'var_l_13',\n",
      "       'var_l_22', 'var_b22', 'var_l_101', 'var_l_111', 'var_b12',\n",
      "       'var_l_69', 'var_b11', 'var_l_115', 'var_l_11', 'var_l_36',\n",
      "       'var_l_50', 'var_l_54', 'var_l_121', 'var_b15', 'var_l_73',\n",
      "       'var_l_66', 'var_l_125', 'var_b16', 'var_b24'], dtype=object)}\n",
      "(43576, 34)\n"
     ]
    }
   ],
   "source": [
    "train_selected, dropped = toad.selection.select(train,target = 'target', empty = 0.5, iv = 0.05, corr = 0.7, return_drop=True, exclude=['APP_ID_C','month'])\n",
    "print(dropped)\n",
    "print(train_selected.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 4. 分箱\n",
    "\n",
    "toad的分箱功能支持数值型数据和离散型分箱，默认分箱方法使用 [卡方分箱](reference.html#chimerge)。\n",
    "\n",
    "`toad.transform.Combiner` 是用来分箱的class，分箱步骤如下：\n",
    "\n",
    "(1)  *** initalise: ***c = toad.transform.Combiner()\n",
    "\n",
    "(2) ***训练分箱***: c.fit(dataframe, y = 'target', method = 'chi', min_samples = None, n_bins = None, empty_separate = False) \n",
    "\n",
    "    - y: 目标列\n",
    "\n",
    "    - method: 分箱方法，支持'chi' (卡方分箱), 'dt' (决策树分箱), 'kmean' , 'quantile' (等频分箱), 'step' (等步长分箱)\n",
    "\n",
    "    - min_samples: 每箱至少包含样本量，可以是数字或者占比\n",
    "    \n",
    "    - n_bins: 箱数，若无法分出这么多箱数，则会分出最多的箱数\n",
    "\n",
    "    - empty_separate: 是否将空箱单独分开\n",
    "\n",
    "(3) ***查看分箱节点***：c.export()\n",
    "\n",
    "(4) ***手动调整分箱***: c.load(dict)\n",
    "\n",
    "(5) ***apply分箱结果***: c.transform(dataframe, labels=False):\n",
    "\n",
    "    - labels: 是否将分箱结果转化成箱标签。False时输出0,1,2...（离散变量根据占比高低排序），True输出(-inf, 0], (0,10], (10, inf)。\n",
    "\n",
    "<font color='red'>注意：1. 注意删去不需要分箱的列，特别是ID列和时间列</font>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "var_d2: [747.0, 782.0, 820.0]\n",
      "var_d5: [['O', 'nan', 'F'], ['M']]\n",
      "var_d6: [['PUBLIC LTD COMPANIES', 'NON-RESIDENT INDIAN', 'PRIVATE LTD COMPANIES', 'PARTNERSHIP FIRM', 'nan'], ['RESIDENT INDIAN', 'TRUST', 'TRUST-CLUBS/ASSN/SOC/SEC-25 CO.', 'HINDU UNDIVIDED FAMILY', 'CO-OPERATIVE SOCIETIES', 'LIMITED LIABILITY PARTNERSHIP', 'ASSOCIATION', 'OVERSEAS CITIZEN OF INDIA', 'TRUST-NGO']]\n"
     ]
    }
   ],
   "source": [
    "# initialise\n",
    "c = toad.transform.Combiner()\n",
    "\n",
    "# 使用特征筛选后的数据进行训练：使用稳定的卡方分箱，规定每箱至少有5%数据, 空值将自动被归到最佳箱。\n",
    "c.fit(train_selected.drop(to_drop, axis=1), y = 'target', method = 'chi', min_samples = 0.05) #empty_separate = False\n",
    "\n",
    "# 为了演示，仅展示部分分箱\n",
    "print('var_d2:',c.export()['var_d2'])\n",
    "print('var_d5:',c.export()['var_d5'])\n",
    "print('var_d6:',c.export()['var_d6'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 5. 观察分箱并调整\n",
    "\n",
    "toad.plot的module提供了一部分的可视化功能，帮助调整分箱节点。\n",
    "\n",
    "(1) ***时间内观察***： toad.plot.bin_plot(dataframe, x = None, target = 'target)\n",
    "\n",
    "bar代表了样本量占比，红线代表了正样本占比（e.g. 坏账率）\n",
    "\n",
    "    - x: 需要观察的特征\n",
    "    \n",
    "    - target: 目标列"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "No handles with labels found to put in legend.\n",
      "No handles with labels found to put in legend.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a2d8a14e0>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from toad.plot import bin_plot\n",
    "\n",
    "# 看'var_d2'在时间内的分箱\n",
    "col = 'var_d2'\n",
    "\n",
    "bin_plot(c.transform(train_selected[[col,'target']], labels=True), x=col, target='target')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(2) ***跨时间观察：*** toad.plot.badrate_plot(dataframe, target = 'target', x = None, by = None)\n",
    "\n",
    "输出不同时间段中每箱的正样本占比\n",
    "\n",
    "    - target: 目标列\n",
    "    \n",
    "    - x: 时间列, string格式\n",
    "    \n",
    "    - by: 需要观察的特征\n",
    "\n",
    "<font color='red'>注意：时间列需要预先分好并设成string，不支持timestampe</font>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'\\n敞口随时间变化而增大为优，代表了变量在更新的时间区分度更强。线之前没有交叉为优，代表分箱稳定。\\n'"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1EAAAF2CAYAAACPsxINAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzdeZxkVX3//9ddqqq7unqbXmZfepjhsC/ODMim4JYYBKNGNGpEDeSr5veNRpOf29eoYfObRIjJN/g1KgHcUFFBjHvQKIowAyiIeFRmgxmYpad7pvfa7vePe6u6unqZ6pmurl7ez8ejH3Or7qlbp5rLTL/7nPM5ThAEiIiIiIiISGXcWndARERERERkPlGIEhERERERmQaFKBERERERkWlQiBIREREREZkGhSgREREREZFp8GvdgSpLAFuAZ4BcjfsiIiIiIguXBywHtgIjNe6LVNlCD1FbgJ/UuhMiIiIismhcBNxX605IdS30EPUMQE/PAPn87O+H1daWoru7f9bfVxYH3V9STbq/pJp0f0k11er+cl2H1tYGiH7+lIVtoYeoHEA+H9QkRBXeW6RadH9JNen+kmrS/SXVVOP7S0tIFgEVlhAREREREZkGhSgREREREZFpUIgSERERERGZBoUoERERERGRaVCIEhERERERmQaFKBERERERkWlQiBIREREREZkGhSgREREREZFpUIgSERERERGZBoWoKvA8h8ZEftyxiIiIiIjMfwpRM8zzHBrcIYbtT8lnM8XjOj+odddERERERGQG+LXuwEKT9HMM/eZBen58B7HmTrp/cCuO79NpzmM4q2+3iIiIiMh8p5/qZ1jfiEvyxAvpaGpn31duAGD5n11DzyM/gs6NuG1rcByntp0UEREREZFjphA1wzzPwSfNvns/W3xu4In78YOAI1/7HE5jB7H1W/C7NuN2dClQiYiIiIjMMwpRMyzp5xiyD+L4Pquuvokjj/6Q4d2P0/HK9zDSsIzsjm2kH/0u6V9+CyfVht+1mVjXZtylJ+A4WqImIiILl+c5JP3cmOO+Ef3bJyLzjxMEC7rgwTpgR3d3P/n87H3OOj8g7uVINLXS13OEuJdjIBsjlwv7EIwMkN31CJntW8k9/TjkszjJFvyuzfjrt+At3Yjj6h8VmVpHRyMHDvTVuhuyQOn+kplWKLw09LutNJ39YjL9vQz9bivehgsZzmpWhhy/QjCva2rm0KH+WQ/pruvQ1pYC6AJ2ztobS01oJKoKhrMOw1mfjpJjGA1xTqKB2IkXEjvxQoL0INldvyC74yEyv/lvMo//AKe+CX/dpjBQLTc4rlezzyIiInKsgiAg6D9I7uAuGlasYujpJ+i57yv4qRYO/fALOL5Pe+ca+r54DeCC44RfOMXj4iwNxwHHHXd+TFsKbZj0esXrQHjtKa5XOB7twyTXHHPshlP1J3pfSt4/ms4/eR8Kn2O0vTPummXfm3Hfiwned5LP4ZT0H4dx1yu9hjPVf49x/00q+J6V//c4yvd39HsxqhjS7VbiZ7+4eFynkC5VohBVY048SWzj+cQ2nk+QGSa7+1GyO7aS+d1PyTzxQ5xECr/rOfhdW/BWnozj6j+ZiIjMPUGQJzi8n9zBneQO7iLfvYvcwV0wMgDAPj/Bkpf8OR2X/U/23/m/AVh+5Q0cfvJXxE97CeHMmACC6IsAgnx0zOhxdC4oHAf5qC0lx6XXCAiCfKGTE1+TAPLhcTDB+wZl1ytcJyi95gTvO64P465R3jYf/c51Qc8SmkGj4arzj/+aocP76bnvTmJNbXT/12dVHVmqSnfVHOLE6oidcA6xE84hyI6QfepXYaB68kEyv/kxxJP4684m1rUFb9WpOF6s1l0WEZFFKMjnyPc+Q/7gLnIHd4Z/du+GzHDYwPVx21YT69qC274Gr30dsY411MWz7PvCR4rXGfjN/TRseoVGCsqMCZSThq7S0DdZeBsfGMeF1fKAWXIuYJI2E/RrbNsKQu0k4bg8UAbF44mDbKFfvTssTRvPouOyv2LfnR8FYMVVNzKQjYevF5lhClFzlOMniHVtIta1iSCbJrfncTLbt5Hd+TDZ3/4UYvX4a8/CX78Zf9XpOH681l0WEZEFKMhlyB/aMxqWDu4if+gpyGXCBn4ct20NsRMvwGtfh9u+FrdlBY439keMhkR+wsJLjedcrpGCMqPT9ipoW/XezA+e55Bwh8aE9P7HfkRi0yvI6bskVaC/teYBx4/jrz0bf+3ZBLksuT2/JrtjG5mdD5H9/f3gJ/DXnBkGqtVn4sQSte6yiIjMQ0F2hHz3U2WBaQ8EYUU9YvV47WuJnfICvPa1uO3rcJuXVVQMqW/EpW7DRXSa84k3tZLY9Aoaz7mcgWwMTV+T4zVZdWSFdKkWVeerompXtwryWXJ7LdkdW8nueIhguA+8OP7q0/HXb8FfcyZOvL5q7y+1peppUk26vxa+ID1I7uDu0Sl53bvI9z5TnGbl1DXitq+NwtJavPZ1OI3tM7Idh+4vqYajVUeuNlXnW1wUzecxx/XxV52Kv+pUggveSO7Z3xYDVXbnQ+D5eCtPCzf3XXsWTqKh1l0WEZEayA/3jY4sRX8GR/YVzzvJFtz2tcS7thSDk9OwRBvCy7xytOrIIjNJIWqBcFwXf8VJ+CtOIjj/9eT2PUl2+1ayO7YxvPsX4Hp4K08l1rUZf91zcOpSte6yiIhUQX6wl3yhQl4hMPV3F887jR3h6JK5EK9tLW77GtxkSw17LCIy/yhELUCO4+Iv24i/bCPBea8lf2BHWJRixzaGf3wL/ORWvBUnh5v7dm3CrW+qdZdFRGSaRvdg2j0mNAVDh6MWDm7zUrylG/FOfVE4wtS2Rr9EExGZAQpRC5zjuHidJ+B1nkBw7hXku3eR3b6NzI6tjNx3GyM/vR1vmQmLUqzbhNvQWusui4hImaPtwYTj4rauwFt9WrFCnrdktdbFiohUiULUIuI4Dl77Orz2dcS3vIp8z9Nkt28ju2MrIz/9HCM//Tzeso34XZvwuzbjptpq3WURkUWnoj2Ylqwi1rW5WPDBXbJKW12IiMyiqoYoY8xVwDuAPuB11tqdJefagDuA5cAd1tprjTFLgH8FTgM84K3W2vuMMX8A3A7sjV7+t9baH1Sz7wud4zh4S1bjLVlNYvMryPXsIbtjG9nt2xi5/4uM3P9F3M71xLq2hIGqqaPWXRYRWXCCXIZ8z56S9Us7yXeX7MHkxXHb1xDbeEGxSp7bunLcHkwiIjK7qva3sDGmA3gvcAbwfOBG4JUlTT4I3AV8AvipMeYbwA7gRmvtQ8aYlwEfAV4INAM3W2s/glSF17oSr3Uliee8nPzhZ8kUAtUDX2LkgS/htq/F79pCbP1m3OZlte6uiMi8M7oH02jBh3zP05A//j2YRERkdlXzV1kvAR6y1g4aY74L3GqMcay1hVqTlwKXW2vzxpg7gUuttTcADxljWghHox6K2jYDvVXsq5Rwm5eROOtlJM56GfkjB8KNfXdsJb31TtJb78RdsjpcQ9W1Ba91Ra27KyIy5wTpIXLdYws+5Hv3ju7BlEjhdqwjvvoPZ3wPJhERqb5qhqjlgAWIglIPsAQo1FntBJ6MjvcAFwAYY7qAJ6LXPjc63wy8xhjz58AvgLdba/ur2HeJuE0dxM98KfEzX0q+vzvcg2rHNtLb7iK97eu4rSuiKn9bwjn52lNERBaZYLh/tODDwV3kuncRHJ5oD6bN2oNJRGSBqPak6tJfqTUyfsczp/yctXaHMSYJvJlwHdSrgduAbxKGrVuBdwLXVtqJaPfomujoaKzZe8+4jkboWge8imzfIQbsAwz85n6GH/km6Ye/QWzJchpOOo+Gk84jvqxLPyDMggV1f8mco/trvGxfD+lntzMSfaWf3U72yMHieb+5k/plXSTOegGJZeuJL+vCT6nq6UR0f0k16f6SaqtmiNoLnAtgjGkEWoGekvP7gA3A44BhtGgE1to88BljzLXGGN9aewA4EF3rc8CrptOR7u5+8vnZ37G6o6ORAwf6Zv19Z0cM1l5IbO2FeENHyO58mOz2rfTefxe9P/saTmMHftcmYuu34HasV6CqgoV9f0mtLfb7K9yDqTsaXZp8Dya3YwOJk184bg+mbPQ1MAQMLd7v42QW+/0l1VWr+8t1nZr+4l5mVzVD1PeAv49GlS4Gvg1cYYxZYa29iXBk6RJjzBOEhSfeYox5JfCMtfZ+Y8wLgQFrbdYY83rgS4QjW38EbKtiv2Wa3Pom4idfTPzkiwmG+8nufJjMjm1kfvV9Mo9+B6dhSTjlb/0WvKUnaM6/iMwpQZAnOLJ/TMGH3MGd2oNJREQmVbUQZa09aIy5HniAqMQ5YXW+dVGTawlLnL8V+KK19jFjTC/wb8aY9YTT+94YtW0E7iNcR/XfwM3V6rccH6cuReyk5xE76XkEIwNkd/0iLEzxxL1kfvU9nGQL/rpN+Os34y0zqjolIrMq3IPp2dHRpcKmtdqDSUREpsEJgtmf5jaL1gE7NJ2v9oL0ENndvyS7fSvZpx6DXBqnvgl/3XPCKn8rTsJxvVp3c17R/SXVtBDuryCXjfZg2jlaUrz7KcilwwbRHkxe21rtwTTLFsL9JXPXHJjO1wXsnPUOyKzSvxQyK5x4PbENzyW24bkEmRGyTz1KdvtWMr+7n8wTP8JJpKJAtRlv5Sn6IUZEpqWyPZjWEDvlktHA1Lxco+EiInJM9JOqzDonliC2fgux9VsIsmmyTz9Gdvs2Mtu3krE/hng9/trnEFu/GW/lqZpGIyJjaA8mERGpNYUoqSnHjxNbt4nYuk0EuQy5PY+T2b4trPb3u59CrA5/zVnh5r6rT8fxE7XusojMonAPpl2jVfK0B5OIiMwBClEyZzheLAxMa84iyGXJ7X2C7I6tZHc8TPbJn4Mfx19zJn7XFvw1Z+DE6mrdZRGZQfnB3tGpeFGFvKC/u3jeaWzHa1uLu/GCqEreGtxkSw17LCIii5VClMxJjufjrz4df/XpBBdeSe4ZS3bHtvBr+1bwYvirz8Dv2oS/9iyceLLWXRaRCgVBQDBwaGzBh4O7CAZ7i22c5mV4SzfgnfpC3PZ1Y/ZgEhERqTWFKJnzHNfDX3kK/spTCM5/A7l9vwur/O18iOzOh8D18VadSmz9Fvy1Z+MkGmrdZRGJTLQHU/7gLoKR/rBBYQ+mlacWCz54bWu0B5OIiMxpClEyrziui7/c4C83BOe/jvz+7WS2byW7YxvDu38Jjoe36pRwc991z8Gta6x1l0UWjUr3YPK7NmkPJhERmdcUomTechw3nO6zdAPBc19L/sCOcGPf7VsZ+fF/MPKT2/BWnBQFqk24yeZad1lkzvM8h6SfG3PcNzK+ql2lezDFNl6gPZhERGTB0b9msiA4joPXuR6vcz3xc15Nvnv3aKC673ZG7vss3vITw0DVtRm3obXWXRaZczzPocEdYshuJX72i4vHifXnMfhsSYW8g7vIH9IeTCIisngpRMmC4zgOXlTqOL75leR79oRrqHZsY+Rnn2fkZ5/HXbqBWNcW/PWbcVNtte6ySM0FQUC9m2Hotw/S8+M7iLV00v39W3F8n/aONQzedQ0Q7cHUvpb46X8QFnxoX4vT1KE9mEREZFFxgmhzwgVqHbCju7uffH72P2dHRyMHDvTN+vvK5HK9e8luD6v85bt3A+B2rCe2PhqhauqscQ8rp/tLKhEEAWSGyQ/2EAz0EgyGX/nS48FegoFeHAJaL/5T/OYO9n/tYwAsf+N1HN75W/J1TeGmtdqDSWaA/v6SaqrV/eW6Dm1tKYAuYOesd0BmlUaiZFHxWlbgPedyEs+5nPzhfWSisukjD3yZkQe+jNu2Fn/9ZmJdW3BbltW6uyJTCjLDBANRCBrsJRjsmTAckR0Z/2I/gdPQiptswetcj5NsIda2ivoNZ7DvyzcUmw3YB2jY9AqGswpOIiIiBQpRsmi5zUtJnHUpibMuJd93gOyOh8js2EZ661dJb/1qVEVsM37XFtzWFfrtu8yaIDtCMHiY/EBPGIgGesORpMHD0eMe8oO9o1XvSnnxKBw147WtxVlzFm6yBaehBSfZEh4nWyYsId6YyDNk78PxfVZdfRNHHv0hw7sfp/GcyxnO6p8LERGRAk3nqyJNV5if8v2Hwj2otm8l9+zvgAC3ZXkYqNZvwV2yek4EKt1f80+QTYfhKBo1CgYPFwNRaVgiPTT+xZ6Pk2wdE4icZCtu8bgFt6EFYvXHdX/W+QFxL0eiqZW+niPEvRwD2Ri53IL+t0Jmmf7+kmrSdD6ZDfrVokgZN7WE+GkvJn7ai8kP9pLd+TDZ7VtJ/+KbpB+5B6dp6egaqvZ1cyJQSW0FuUxxlKgwhS487ik57oWRgfEvdr0wBDW0RpvOnlIMRKVBiXhyVu614azDcNano+QYFKBERERKKUSJTMFNthA/5QXET3kB+aEjYaDasY30L79D+hf/iZNqw1+/hVjXZtzO9apQtsAE+WwUjg6PDUQDvQRDo2EpGJ7gN56Oh5NsxmlowW1ehrfcROGoNQpNLbjJVkg0KIiLiIjMMwpRIhVy65uIn3wx8ZMvJhjuJ7vrETI7tpH51ffJPPodnIYl+F2b8Ls24y3dqD1y5rAgnyMYOlK23mh81bpgqI9xozCOG4ajZAtuYzvO0g0l641ao+DUilOXUqgWERFZoBSiRI6BU5ciZi4iZi4iSA+S3fULstu3knnih2R+9X2c+uYwUK3fgrfsRBzXq3WXF4UgnycYLg1HveOD0kAvwfARKF8P6jg4dU1hIGpoxetYP7YYQ2F6XV2TArKIiMgipxAlcpyceJLYxvOJbTyfID1E9qlHw0Bl7yPz63tx6hrx123CX78Zb8VJOK7+t5uuIMgTDPcTDPSMTq0bs/aoMHp0GIL8uNc79U3F4gte+9rRQgzJ1tFwVN+ksCsiIiIV0U9zIjPIidcTO+FcYiecS5AZCQPVjm1knvw5md/8CBIN+GufQ2z9ZryVp+J4i/t/wSAICEb6xwaiQlnvMeuQDkOQG/d6p65xdH1R66rRYgwNhal1LTjJJgVXERERmVH6yUKkSpxYgtj6LcTWbyHIpsk9/TiZHVvJ7txG9rc/gXg9/tqzw9Lpq07D8eO17vKMCYIA0oPR+qKecWuN8tFeR8HgYchnx18g0VDcz8hduXw0EDWU7HOUbMbxYrP/4URERGTRU4gSmQWOH8dfdzb+urMJchlye35NZvs2srseJvu7n0GsDn/NmWGgWnMGjp+odZcnFAQBZIbGBqKSoFS6DolcZvwF4vXFKXTuchOtNYqKMRT2QEo2L6hAKSIiIguPQpTILHO8WBiY1pxJkL+S3N7fkN2+Ldzg98kHwI/jrz4jClRn4sTrZ6VfQXpo7PqigdIRo17yg4cJBnsgmx7/4lhdMRB5SzeMK8bgFoLSHA2HIiIiItOhECVSQ47r4686DX/VaQQX/hm5Z39LdvtWsjseIrtjG3g+/qrT8ddvwV97Fk48iec5JP1wfVDhuG9k8mpxQWakbApd+Yaw0chRZnj8i/14uAlssgWvYx1O8qxo3VHr2A1hY3XV+haJiIiIzDkKUSJzhON6+CtOxl9xMsH5byC3//ejgWrXI+B6JE5+Hu0X/DFDTz5K7MxLaGCAod9sI7ZkHQO7nwiLMQyM3fOIzND4N/Nio+GobQ3O6jNGA1HpRrCxOm0EKyIiIlJGIUpkDnJcF3/ZifjLTiQ470/J799OZsc2ms3ZDD35ED333YmfauHQD7+A4/u0v+QqDt3/RXD90Sl0rSvxVp02OrWupDAD8aTCkYiIiMgxUogSmeMcx8VbugFv6QYGg4Bky0o6l6xg31c+CsCKt/wD/cMOqTf+H0g0KByJiIiIVNnkCylEZM7xfZdY3Kf7B7cVn+t//D4SLe04dSkFKBEREZFZoBAlMo8k/RxDv3sQx/dZdfVNNJ17OcO7Hyfujd+IVkRERESqQ9P5ROaRvhGXug0X0WnOJ97USmLTK2g853IGsjEgqHX3RERERBYFhSiReWY46zCc9ekoOVaAEhEREZk9ms4nIiIiIiIyDQpRIiIiIiIi06AQJSIiIiIiMg0KUSIiIiIiItOgECUiIiIiIjINClEiIiIiIiLTUNUS58aYq4B3AH3A66y1O0vOtQF3AMuBO6y11xpjlgD/CpwGeMBbrbX3GWPqgM8CJwM/Av7KWpuvZt9FREREREQmUrWRKGNMB/Be4FzgGuDGsiYfBO4CzgAuNcacAWSAG621Z0av/UjU9q3ATmvtaUAH8LJq9VtERERERGQq1ZzO9xLgIWvtIPBd4AJjjFNy/lLg3mhE6U7gUmttn7X2IWNMC+Fo1EOlbaPjL0ePRUREREREZl01Q9RywAJEQakHWFJyvhN4MjreA6wAMMZ0Ac8Cfwp8qPxapW1FRERERERmW1XXRDE2pDUCQdl5p/yctXaHMSYJvBm4HXh12bUmus6U2tpS02k+ozo6Gmv23rLw6f6SatL9JdWk+0uqSfeXVFs1Q9RewvVQGGMagVbC0aiCfcAG4HHARO2B4sjVZ4wx1xpj/OicAX5f3rYS3d395PPTyl0zoqOjkQMH+mb9fWVx0P0l1aT7S6pJ95dUU63uL9d1avqLe5ld1ZzO9z3g7GhU6WLg28AVxpi/js5/E7jEGOMCzwf+0xjzSmPMeQDGmBcCA9babKFt9LpLgP+sYr9FREREREQmVbUQZa09CFwPPAC8D3g3sBLoippcC1wOPArcZa19DNgKvM8Y8yvgn4E3Rm0/CayOnn+GMFSJiIiIiIjMOicIZn+a2yxaB+zQdD5ZiHR/STXp/pJq0v0l1TQHpvN1ATtnvQMyq6o5nU9ERERERGTBUYgSEZEiz3MJPJf9PYMEnovn6Z8JERGRctUucS4iIvOE57n0DGa4/tYH2d8zRGdrPe9/0zm0JmPkcvlad09ERGTO0K8YRUQEgJFcUAxQAPt7hrj+1gcZSOc4dGSYTDZX4x6KiIjMDRqJEhFZZPL5gH09gzy1v5/d+/rDP/f38d43bikGqIL9PUMcHkjzvpt/BkB9wqMxGacpGacxGaOpIR49Hnvc2BAnVRfDdZ2JuiAiIjKvKUSJiCxgQyNZ9hwYYPf+vmJo2nOgn3Q2nJ7nuQ4r2hs4dd0SEjGXztb6MUGqs7WehjqfN730JI4MpDkymKZvMMORgTQHeod4cu8R+gbTTFTo1XGgsT4MVMXQlYxHj8ceNybj1MU9HEehS0RE5j6FKBGRBSAIAnr6RqKRpT527w9HmEoDUUOdz+rOFBefvZLVnSlWd6ZY0d6AHxWP8DyX97/pnHFroprrYzzvzBWTvnc+CBgYynBkMENfWdDqG0xzZDDDkcE0u57t48hghqGR7ITXifluMVCFo1pR0ErGaWooPQ7P+Sp6ISIiNaIQJSIyz2RzefYeHCiZjheOMg0Mj4aTztZ61nSmuOC0Zaxe2siazhStjYkpR3pyuTytyRg3vP2CcBgpCPCj56fiOg6NUcChveGo/c9k8/QVgtZgOgpb4XEYwjIcHkjz9IF+jgykyeYm3ucvmfAnHdVqKjtO1vm4GuUSEZEZohAlIjKH9Q9leGrf6MjS7n39PNM9QC7aQDzuu6zsSLH5pE5Wd6ZY09nIyo4G6hPH9td7LpfHYXSzymqUkoj5Lkua6ljSVHfUtkEQMJzORQErCl0lYasvCmHPHhrkt0/30j+YYaLIFQa92ASjWrHRNV7R803JOIm4N/MfXEREFgyFKBGROSAfBBzoGSoWeSgUfOjpGym2aU7FWdPZyBkntLFmaTgdb2lrckEXb3Ach/qET33CZ2nr0dvn8wH9Q2NHtcLphWmODEShazDN9r1HODKYZjg9cUyMx9zRoJUcXddVetyYjNHcECeVjOG5mlooIrKYKESJiMyykXSOpw/281RJZbyn9w8wkgl/oHcdh+XtScyaFtZ0NhbXLzU1xGvc87nPdZ1wKl9DHDqO3j6dyY1OJSwLWoXjnv4Rdu8PpxYWRgDLpepjRy2cUZhiWJ/wVUBDRGSeU4gSEamSIAjo7U8X1ywVRpf2HRosTjmrT4TFHi46Y3k4HW9pIyvak8R8TSebDfGYR1uzR1tzZVMLh0ay4ehWoWhG6WhXdLznQD9PDKTHrFEr5UVBb/LCGbExZeTjMd0LIiJzjUKUiMgMyObyPNs9WBxZKoSm/qFMsU17cx1rljZy7ilLWRONLrU112lUYp5wHIdkXYxkXYxlS5JHbZ/N5cOphRMUzig9fvbQIEcG0sWy8+Xq4t6YNVvlQat0imGqXntziYjMBoUoEZFpGhzOjNuodu/BgWIVOd9zWdnRwNkb24ujS6s6UiTr9FfuYuJ7Li2pBC2pREXtR6ICGqVFNMqnGB7oHWb73iP0DWbIT7A5lwOkiiNc4zdAbioroqG9uUREjo3+RRcRmUQQBBw4PBytXRot9tB9ZLjYpikZY/XSRl60eUlxdGlZW1KFBmTaEnGPjng9HS31R22bDwIGh7Nj9+IqOS7s17VrXz99A2kGJ9mby/fcSUe1CiGscNyYjBPzj+++9jyXLLC/ZxA8t6IS+iIic5FClIgIYYGBPdHeS0/ti4o9HOhnaCQs9uA4sGxJkhNWNnHJc1ZG5cRTNFc4yiAyk1zHIVUfI1UfAyrbm2t0auHYwhmlmyPvPdjP4YEM2UmCTX3CH1+tsHxz5KiARkN9bMzeXJ7n0jOYGbeZc2sypiAlIvOOQpSILDqHB9I8tS9atxTtv/RM9wCF2VF1cY9VnSnOO3VZSbGHBhJa4C/zVMx3aW1M0Np49NBf2JurfFSr9LhvMMO+nkF+/3SavqEME8wsxHEYnUqYjPNnf3QK/3zHw+zvGQJgf88Q19/6IB++6rn0Hh4imfBJ1vn4nkZxRWTuU4gSkQUrl8/z7KGhsDpecf1SWKq6oK0pwerORjad2BEFphTtLfVjfoMuspiU7s3VWeneXMOZcRsglx73DWbwPKcYoAr29wxxeCDN+//958Xn4jE3ClSxYrBK1vmjx4lY8XF9nU9D8VyM+oSnqbQiMisUokRkQRgayYZT8faPrl/ac3CATNY9VoUAACAASURBVFTxzHMdVrY3cPr6JazubGRNZ4pVnaloOpSIHCvXdYoFK1ZO0S7wXDpb68cEqc7WelL1Ma6+7BQGh7MMDmcYHMmGx9GfhwfSPNs9yEB0bqJRr1KJuEcyUR6uyoJYWRgrPFcf91XdUEQqohAlIvNKEAR0HxkeM7L01P4+DvSOFntI1cdY3ZnikrNXsmZpitWdjSxvS2qakEgN+cD733TOuDVRTXU+5526rKJrFKYaDpUErYHhTPF4qCR8hX9mOHRkuPjc0EiWqTKYA9QlSke9Sv+MTfBcOGLXEJ1LxD2NYossEgpRIjJnZbJ59h4cKO67VAhOhUpjDtC5JMnaZU1cdMaK4vqlllRcZZtF5phcLk9rMsYNb78gXDAVBNOuzlc61XBJ0/T7kA8ChkdyDI5EwWuC0FX+3IHeYYZGwlGwQqGZyftHOM0wClgN0ZTE+gnC15jpitGfiZhKzovMFwpRIjInHBlMlwSlvqjYwyC5fPh743jMZXVHinNOWVqsjLeyo4G6uP4aE5kvcrk8DtDR0ciBA31MHUlmnus4xal7NE//9bl8nqGR3OioVzTFcKAkkIWjYaNh7NlDg8VQNpKZ+hN7rjN+6mH5WrCy50rXhcV8VyFMZJbopw8RmVX5fMC+nsGS9Uv97N7XR2//aLGH1sYEqztTnLlhdLPazpZ6rVUQkZryXJdUvXvMaymzuXw4FbEw0lU6Ala2FmwwCmM9fSPFcJbOTj1q53tONPI1OspVCFj1pdMSozVj5c8d7z5gIouJQpSIVM1wOsvTBwbGlBN/+kA/6cxosYflbUlOXrukWBlvdWeKxmS8xj0XEZl5vufSmIwf899xmWx+TOgqXQM2MMFzgyNZug8PMzicYWA4WxzZn0zMd6cuvjHJVMRCGNO6U1lMFKJE5LgFQUBP30hxz6VCaNrfM1RcxJ1M+KxZmuJ5Z65gTWcjqztTrGhv0G8+RUQqFPNdmv04zQ3TD2FBEJSEsNIRrwlGwUayDA2HJer39QwWi3IcLYQlYt64YJWs82mIph2Wh7GGupLnE8dfGdHzXLLA/p5B8Nxpr7kTmQ6FKBGZlmwuzzPdg+yOglJhOt7AcLbYprOlntWdKc47LdqstrORJU0JzdUXEakRx3GIxzziMY+W1NE3XS4XBAHpTH6Kioij68MKzx3uT/NM90Cx7dHK09fFPZJlUwwrrZLY0BCnZzAzrvpjazKmICVVoRAlIpPqH8qMrl2KQtOegwPF30bGfJdVHQ1sMh2sjkaXVnemqE/orxYRkYXEcRwScY9E3KO18dhC2HA6N/E6sDGjYJniyNehI8M8tT8KayPZKa///jedw6fvfqy4D9n+niGuv/VBbnj7BejXd1IN+klHRMgHAQd6h3hqX7RuaX8/u/f3cejISLFNc0Oc1Z0pTl2/pDi6tHRJPZ6r6XgiIjK10vL0bcfw+nw+YDhduj/YaOgaGs6O28gZwiCVywf6YVeqQveVyCIzksmx50DZ3ksH+hlJh6V3XcdhWVuSE1e1hCNL0Wa1xzIHX0REZCa4rhNN5Zu4MmLgueOCVGdrPZ7rQO4o8whFjoFClMg8U+nC2SAIODyQZnfJvktP7e/n2UODxXnp9QmP1R0pLjxteRSWUqxsbyAe82b1M4mIiBwPn3BKX/maKB9mfT8yWRwUokTmEc9zJ1w421TvsSeaildYv7R7fz99g5nia9ub61jdmWLLSZ2s7mxkzdIU7c11KvYgIiLzXi6XpzUZ44a3XwCOA0Gg6nxSVQpRInNcLp9nJJ1jOJ2jIVVXDFAwunD26j8+nev+40Eg3GxxZXuKM09oZ/XSFGuiYg+TTYEQERFZCHK5PA7Q0dHIgQN9GoGSqlKIEplB4cLXHCOZHMPpbHiczjGcif5MZ8se54rtR6L25eeyJb9Fu+HtF0y4cLajpZ6rX3YKq5emWLYkqQ0PRURERKpIIUoWrXwQMFIMPCUhJ1MSbqLnCsGmGG7GBJ1sFIJypLOVTxuI+S6JmEddVDK2LvpqTiXC5xMedbHCOT/cPyPhT7hwtjEZ47zTllXj2yQiIiIiZRSiZF4IgqAYVCYaxSkd9RkNQaOjPsVzxcdZ0pnKA4/vOVHg8YuhJxHzaEzGosfh84XQUwxFMX9MQCqEpnjMO6bRIs9ztXBWREREpMYUomTGBUFAOpsfHcUpTlebPPiUBqORkpGfwqhPOp2j0gKlnuuMCTqF4JNqio2GmbJziSgAFQJR8XEibDdXpsdp4ayIiIhI7SlELXJBEJDN5RmaYKRmfOgZP+Vt7PS20eeDChOPG+2AXj5Ss6SxriToeGVBxx8d7RkzHc4nEfOI+XMj8FSLFs6KiIiI1FZVQ5Qx5irgHUAf8Dpr7c6Sc23AHcBy4A5r7bXGGB/4J+AiwAWuttZuM8YY4OdA4fU3WWtvr2bfj0el+/hMVxh4gmMqWjA8UhJ8ytb85CtMPI5DMeiUTl9rTsVZWgxBYcCpHzPaMxp8Rtf4hF++56rEtoiIiIjMK1ULUcaYDuC9wBnA84EbgVeWNPkgcBfwCeCnxphvAAPANmvtO40xlwIfBy4AmoG7rLVvrlZ/Z8pE+/i878otZLM5Dh8ZmSToZCeZ7jb+XC5f+a7bo+tyRkdtmhriUQgqH/3xx4wEJSYIPnFfgUdEREREpJojUS8BHrLWDhpjvgvcaoxxrLWFFHApcLm1Nm+MuRO41Fp7A/BkdP4+YE103Az0VrGvMyYL4/bxueG2rVz18tO5/vZtk74uERs/Pa2h3qetuW7c6E2irGJbefCpi3nEYi6uAo+IiIiIyIyrZohaDliAKCj1AEuA7uh8J6OBaQ/hiFOpc4GHo+Nm4EXGmEeAXcBbrbXPVrHvxyyXDybcx2dFewPvfPUZE1Z4S8Q9BR4RERERkXmi2oUlSlf4N8K4AmvOROeitVEfBt4TPfUdwsD1BPCPwLXAVZV2oq0tNZ0+H5eevuEJ9/FpSsV54XO7Zq0fsjh0dDTWuguygOn+kmrS/SXVpPtrdhhjXg78sbX2zcaYywl/dm8DPmutva62vauuaoaovYSjSRhjGoFWoKfk/D5gA/A4YKL2BZ8Gvm2t/QmAtbYfeCS61i3Av06nI93d/eSnsZboeEy2j0+QyXHgQN+s9EEWh0J1PpFq0P0l1aT7S6qpVveX6zqz+ov7Oegk4EWEAyPWGPMVa+1va9ynqqlmiPoe8PfGmCRwMfBt4ApjzApr7U3AN4FLjDFPEBaeeAuAMeajQNxae03hQsaYK6L2w8DlwOSLi2pM+/iIiIiIyFxhjPkWcI219n5jTAz4FfAx4E2ES20+aa29yRjzfOB1hCNJz1hr/+ck1zsZuI1wRtmzwEEAa+0/lLR5GFgNLNgQVbUNday1B4HrgQeA9wHvBlYChTlt1xIGokcJK+89Zox5KeEw4InGmEeir4uADPB9wv8QZxNO9Zuzcrk8Ti5PZ2sSJ5dXgBIRERGRWrkTeFl0/HzgXuBBwi2FNgEfMMbEo/OvBz4wWYCK/AfwQWvtFsKfz8eIluWcATw2M92fm6q6JspaewtwS8lTN5acO0RYwa+0/bcZXSdV7usz3kERERERkYXtbsIZYh8gHMD4GvA7wllgFxDmgaVR23uttXayC0VLdJZZa78bPbWLcICj1Fuj6+yfsU8wB1VtJEpERERERGrLWtsNdBtj1hCGph8B/0U40+uvgR2MZoLcUS7nA43GmAkHPYwxLwGujK67oClEiYiIiIgsbHcSBptfAU2Ey2tuBxqAZZVexFrbQ7hd0YXRU1sK54wxm4GbgVdFReEWNIUoEREREZGF7euE0+y+Ho1MfYWwLsFHiPZ1nYY/Bz5pjLkfqC95/luEI1Vfi+oa/OPxd3vucoJgdkp/18g6YMdsljgvpRKuUk26v6SadH9JNen+kmqaAyXOu4Cds94BmVXV3mxXRERERETmEWPMcsKRpXKvt9b+erb7MxcpRImIiIiISJG19hnGV92TEloTJSIiIiIiMg0KUSIiIiIiItOgECUiIiIiIjINClEiIiIiInLMjDFdxpitxpjbat2XUsaY91Xr2iosISIiIiKygBljrgLeAfQBr7PW7iw7/yHgDcDN1tqbys59DLjVWvvYFG/xp8BXgX+YRp9+CLRED9uBe621V0bnkoT7V/0va+1tU7U9ymdMGGPOtdY+UGm/KqUQJSIiIiIyR1z27rtfB1wPrAF2A++/52Mv/8KxXs8Y0wG8FzgDeD5wI/DKCZpeZa397/InrbXvruBtNgJ3W2vzlfbLWntJSR+/C1xTcvp9wMEK2071GW8FPgTMeIjSdD4RERERkTkgClCfAtYCTvTnp6Lnj9VLgIestYPAd4ELjDFOpS82xnzdGPP86PhxY8x1xphfGWPuNcbEjTF/BFwO3GiMefN0O2eMeTnwqLX299HjdcALgG8cre3RPmM0GrVsun2qhEaiRERERERmwWXvvvuNwFumaPJcIFH2XBK45bJ33/0Xk7zmlns+9vLbp7jmcsKpcVhr88aYHmAJ0F1Zr8c4EfgO8EHgx8DF1tpvGWO+Adxlrb270NAYsxm4Gfg54WjQJdbar01wzauB0tGufwT+FnhxBW0LpvqMXhSogml90qOY1kiUMabl6K1EREREROQYlAeooz1fqdKf+RuBSQOFMeajxphHomlz5fqttT+Jpu39gqlHedqAFwKPAfcCqyZ4rziw0Vpro8cXAwPW2p8dre0EJvuMh4COKfp5TCoaiTLGGODrQLMx5hzgB8ArrLW/mekOiYiIiIgsRNGI0aSjRpe9++6dhFP4yu2652Mvv/gY33YvcC6AMaYRaAV6JmtsrX0v4fqio8kQTjmc7DqFEPap6GsipwG/LXn8WuAsY8z9hKFrxBizx1r7gwnalprqMzYzxec9VpWORP0rYbWL/dbaPdHjf5/pzoiIiIiILGLvBwbLnhuMnj9W3wPOjireXQx821obGGNeY4z56+O47kxYCewvPLDWvtVae5a19jzg08A1UYAa19YY4xlj7jbGtDHJZ4yaOtbazEx3vNIQ1Wat/X7hgbX2ZqBppjsjIiIiIrJYRVX4rgZ2EU5H2wVcfTzV+ay1Bwmr/T1AWPWusKZoJdB1XB0+filg6BjbxglHpxom+4zGmOlcf1qcIDj6GitjzDbgQuBn1trnGGOWAd+31p5ejU7NoHXAju7ufvL5GV1LVpGOjkYOHOib9feVxUH3l1ST7i+pJt1fUk21ur9c16GtLQVhMNk56x04DtE+UT+aqMT5fBbtHXXEWvvlmb52pSNRnyAsF9hpjLmBsMrGzTPdGRERERERkRlyCWFdhxlXUYiy1n6GsJTh54EYcLW19hPV6JCIiIiIiMyqfuDmObBGaqZdWY31UFB5db5rrLWFevCF5z5urX1HNTolIiIiIiKzw1r7MeBjte7HTLPWZqt17SlDlDHmI4QlAl9jjGkuORUD/oCwYp+IiIiIiMiicbSRqAeALUCesbsaZ4HXV6tTIiIiIiIic9WUIcpa+y3gW8aYb1trH5ylPomIiIiIiMxZFa2JAnqMMR8nrM/uAB6wwVp7QdV6JiIiIiIiUkXGmMuA7dbax6fzukpD1BeAbcD5wBeBy4CHptVDERERERGZdcaY9wDvBD5qrf34BOf/AzgH+HvgcuCU6FQT8LS19vlROxd4ELjHWvsRY8znJ2tbcu1LgRsIlwNdba2tOENMdn1jzEXApwjrNNxorf03Y8xS4JOE+8TuB/7UWttddr0uwlyTAm6y1t4CPA78DfD2SvsFlYeoRmvt24wx/wx8G/gXYEFtxiUiIiIiskB9A1h/lDZ/ZK3dBXyp8IQx5jbg0yVt3kw4Iw0Aa+3rp2iLMSYG/B/gXKADuB3YVGmnp7j+PwBXAY8A20pDoLX2YWPMPwLvAj5QdsmbgGuBHwKPGGO+Ya3dboxZZYxJWWv7K+1bpSGqkOJ+D5xmrd1qjAkqfRMRERERETm67de96hLCAYsXAycXjtd/4KvPHus1rbVPGGP2Tuc1xpizgHpr7U+ix03AXxKOAHVM1bbEOcB+a+1+YL8xJm6MWW6tfeZ4+gIcAXZaaweMMY8BeWvtPSUvuQ/4k7JrOMAfAq+31g4aY75H+D3+ImEYOxnYWmmfKg1Rv49GoW4DPmOMSREOn4mIiIiIyAyIAtQ3gTjweeC50fEHCQPMbLqKsSNLf0c4ApSgLERN0LZgOWBLHu8BVgDPABhj1gGfA3YA7yEcpfqutTZ9lOv//8DXjTGfBB611g6XtT8XeLjsuTbCQDdQ1heAXcAJVCFEvQ14qbX2EWPMp4CXAH9R6ZuIiIiIiCx226971RuBt0zRZDNQT1jI7WLAjZ6/evt1rzp1ktfcsv4DX719xjo56g+AvwYwxpwInGGt/RtjzJVTtZ2AW3LcCJTOZltBOGJ0PnA38IOyEaXJrn8l4ebA5wMbjTHxQvAyxqwAXgucXUFfCrPt9gJnTNL/CVUaou6x1r4QwFr7CeAT03kTERERERE5qkcJp5U1MfoDfx743Wx2whizBBi21maip14NLDfG3E84CpUwxmy31n52gral9gKm9NLRcwBYa38WHX4t+jpqX4wxK4GTrbXvAu4wxtwKvAD4jjGmmXD919XW2sNll+oG2kvWPhngzujcEuDA1N+VsSoNUS3GmIaS4S8REREREZmGaMRo0lGjkul8pSMmWeC/13/gq9OqHnc0xph3AXustV+a4PRKwgp3AFhrrwOui153JbDOWvvZidpGbW4Dries5NcWVc7rBHZZa6e7tqv8+j5wujGmFegHuoB6Y0yCcDTrU9ba/5rocxpjvgVcbIy5l3Ck6n9EzdYA90+nU5WGqAFglzHm0aizAFhrL5/Om4mIiIiIyKT+hXANFMAQYSW8OOGUt2MKUcaY5cC3gGVAzhhzmbX2RYSlwCeTit6/EhO1PRVotdZmjTF/CXyfMAxeNZ2+T3R9a+0uY8w1hNstBYSVw+8GPkq4FiphjHlr1Px8xn7OdxGWOL8BuLakBPqphLUfKuYEwdGL7E0y9xFr7bTerAbWATu6u/vJ52e/mGBHRyMHDvTN+vvK4qD7S6pJ95dUk+4vqaZa3V+u69DWloJwZGTnsVxj+3WvWkZYROLVhKHpBYQB6jXrP/DVH85MT8eLSoR/OCpxvqhEVQdvsdb+yVEbl6hoJGoehCURERERkXktKmP+l4xW4ruTYxyBkor9MXDLdF80ZYgyxuQZW0GjVGCtrXQ6oIiIiIiIzE2HgXuMMddNskZqIfsck+edSR0tBHUQlli8hrB++ieBHPAmYO3RLm6MuQp4B9AHvM5au7PkXBtwB2H9+DustdcaY3zgn4CLCBfUXW2t3WaMcQl3O34e8Dhw5QT14EVEREREZJqste+sdR9qxVqbP5bXuVOdtNZ2W2sPAputtR+11vZYa49Ya/8FeP5UrzXGdADvJVzgdQ1wY1mTDwJ3EdZkv9QYcwZhMNtmrd0E/C/g41Hby4EOa+1phHNMtUeViIiIiIjUxJQhqkSDMaZY490YczrhbsVTeQnwkLV2EPgucIExxik5fylwb5T+7gQutdY+aa39XHT+PsJyg8W20fGXo8ciIiIiIiKzrtI1Tf8L+HlU4twFTgFed5TXLAcshMNkxpgewo2sCqUEO4Eno+M9wAVlrz8XeLj8WlHbFRX2G6BQKaUmOjoaa/besvDp/pJq0v0l1aT7S6pJ95dUW6XV+b5mjLkPuDB66sfRNL+jKR3pamT8oi1nonPR2qgPA++Z4FoTXWdKKnEuC5HuL6km3V9STbq/pJrmQIlzWQQqms5njIkTjhQ1EG54dZkx5rqjvGwvYKLXNwKtQE/J+X3AhsJbRO0LPg1821r7k/JrTdBWRERERETkmBhj3jvd11Q6ne9LwHrCaXWPEE61+9FRXvM94O+NMUngYsLdhK8wxqyw1t4EfBO4xBjzBGGRircAGGM+CsSttdeUXOubwBuBfwMuAf6zwn6LiIiIiCxaxpgUcDNwOjAEvMFau72szYeAN0TtVgAvik7VAUlr7VpjzMnAF4Bm4EvW2vdVeO1xFbmn2f9XAf+bcCbae621XzXGnEiYC5YBTwB/Zq0dMcZ0RX1MATdZa8ft/2SM+SDwGsJBmddaaw8BG4wxq6y1T1far0oLS5wFbALuBt5JOCq1ZKoXRNP9rgceAN4HvBtYSbiLM8C1hFX3HgXustY+Zox5KeEUvhONMY9EXxcB9wDPGmN+BawC/r3SDygiIiIisoidBnzeWns28HnCqtkTucpae5O19m+ttWdH7b8CfCA6/3fAxwhnhV1gjNlY4bUnqsg9HR8HXgicBxRmwj0X+Atr7emEy4PeGD1/E2HGOBd4jzGmvfRCxpizgJdFffk6Yd0HgNuBq6fTqUpHop6x1maNMb8FTrPWfsUY03y0F0XprzQB3lhy7hBhBb/S9t9mdJ1Uuf+vwr6KiIiIiMw7V3zpbc8CSyc4te/Lr/nEsmO5prX25yUP7wNeW8nrjDHLgIuttX8XPXUE2GmtzRhjfgmkK7z2pcDlUaG5O6PHj07jI+wD9llrh6MsgrX29rL3XRNVAf9D4PXW2kFjzPeAFwNfLOvLj6K+fBn4GfCu6M+/mUafKg5R/caY1wG/BK42xvyGcJhMRERERERmxkQBaqrnp6u0+vXRvAH4XMnja4GvGmM+CWSttbsqvPakFbmj4PMvwGbgQ1G7RmvtL0pe/37g+8aYLxHOipvoM30FaAP2W2sHSt6rvKL38kIfrbXd0VRDosGi+gmuPalKQ9RfAlcRfvOuAv6b8AOJiIiIiEgFrvjS295IVAfgGF77o0lO3fLl13zi9knOFUWF3t4F/FGFb3kZo9PkIBxluoVwH9dzjDGt1tqeCq89YUVuIEm4bOdG4J8IC9EVt1GKQtYbgH+I3j8NfKbk/JnAmcCfRa8trwzezXhu9NoEY7OQN0nfJ1RpiIKw+MO7CT/4T1BxB5FZ59blyAQZAPYPpMkn8gDEnBj54Wn9vy8iIiKLRFRp+6vA9eWFHyZp7wAnALujxwngCmvtluhxQFic4f9WcO1CRe7HKauyHY0afS96+KoJXvtcYNBaew9wjzHmR8aYk6y1vzHGrCYsInGFtTZnjOkG2o0xKWttf/Red5Zdr7Ti90bg2ZJz+aN9X0pVGqI+SZj6Looev5WwDPkfTOfNROT4ZIIMf/Xtvxv3/L+89O/xpvcLFBEREZll0YjRpKNGV3zpbZNubPrl13zi4mN5zygQ3QpsK11LZIx5DVComl0uBYxYa0v7s94Ys44wWG0ADld47QkrclfIBzZF1b4hLDBXb4xZAnwL+Ftr7eMA1trAGPMt4GJjzL3A2cD/iKbs3QK8MurLp4wxLuMrfmem0a+KQ1SrtfZTJY//1Rjz59N5IxGpXBAE9GcGODTcQ8/IYXqGezk03MMLTzxvwvaD2SEe3fNLWuqaaU200JJopt6vw3Emq9MiIiIii8TbCKfCPWCMeSR67k8Iq2avm+Q1KcKS5QBE5cP/nHDUyAO2Av+3wmtfS1ji/K3AF621j1XacWvtT4wx3yQcxQqAz1hrH4mKQqwCPhTtXdtrrb2EcErhF4AbgGujdU9rCKsIxq21jxpj7iEsbLGXcDSNqNLgzkr7BZWHqN8bY8611j4QvdEZjC4QE5FpSufSYTAa6Y0CUvhnz8jon5l8dsxrYm6MizeeM+H1hrLDfMF+dcxzcS9Oa6KZluirNdE8JmS11DXT4CcVtEREROaOfUxSne9YL2itvZlwL6dyN07wXOE1zxAGj9Ln7iIsVV7qqNeeqCL3dFhrPwx8uOy5KyZpuxM4v+y53YRTEwuPryUMdqWuBP5jOv2aMkQZYx4jTH2NwH3GmEeBHOG+Ub+ezhuJLBb5IM+RdF8UjHrCP6PRpJ7hHg6N9DKQGRzzGgeH5kQTrYkWVjWu4PSOU1iSaKW1roUldS20JlpoiCXJJ0YmfM8lda1cc/776B05TM/wYXpHwq+ekcP0Dh/G9vyewyNHCBg7SyDm+sWQ1ZJoobVufOBqiCVxnUq3lBMREZFjdaxlzOW4bbTWPjidFxxtJEp7M4mUGcoOFUeODpWMHhWOe0cOkw/Grk2s9+toTbTQWtfC2uY1LImOWxNhSGpJNOO5x76mySEMUkvqWsN9xCeQy+foy/SXhaxeeofDsPXk4R307h/fd9/xaC6MZtWVjGzVtRRHuhrjKQUtERGR+asfuNkY8+lJ1kgtdK+f7gucIJh0/dpCsA7Y0d3dTz4/+5+zo6ORAwf6Zv195dhl81l6R47QE61FOlQyehSOJB1mODc85jWu49JaDBWt4chRNIqzpK6V1rpm6v1pbT0wqdLqfK7nks/NbHW+fJCnLz1AbxQGCyNZhXDYGwWwbJAb2y/HpTneNC5kFUe1Es00xRuPKyjK7NLfX1JNur+kmmp1f7muQ1tbCqCLaa6vkflnOiXORea1QrGGnrJ1SIdGeumNHh9J942b8paKNdBa10JnfTumdcOYEaTWuhaa4o2zNgqTH/aKVfhK/5GYVk3OKbiOS3OikeZEI2tZPWGbwvexOJo1PHZU6+m+vTx28Aky+bFFbgpTFlvKRrVao6mE4fNNCloiIjJt2gJEZptClCwY6Vxm3NS6nmJQ6qFneKJiDX647ijRysltJ0bT7FqLAak10Uzci9foE81NjuPQGE/RGE+xunHlhG2CIGAwOxSFrLGjWr0jh3lmYB+/PmRJ59Jjr0147dF1WS1ji2PUNdOcaCbm6q8uEREZpS1AZLbpJxGZFwrFGnqiIg2HhntKAlL4Z39mYMxrHBya4o201rWwMrWC09tOGVOoobWuhVSsQdXpqsBxHBpiSRpiSVamlk/YJggChnPD40ayCoFr/9BBftv7JEPZ4XGvTcUaJg1ZhWOFXxGR5Ot/igAAIABJREFUhSOTz9Kf7udIuo++dH/x60gmfPz/2rv3KEnvus7j77r3paq759KTZBLChNsPEEJY1sUjKIm6eAlHVnBdFj2ILmIQhMV1V3eFQEIWcXEBUS6LHs3G3SUqrAHiIriLCKKwmgW5xR+SZAJkcp3M9G2mq+u2fzxPVVdXV/d0Zbq6enrer3PmdD2Xeup5kqer61O/3+/7+2dP+aejPkWdZwxR2hVO15c7pb27izacrLZ/ztHoGYczlislrUVjMzy6cgn7xvaxrzSdtiLtY6Y0Rd4Wi10rk8kwnh9nvDzO4fLGxYiW68vJOLWekHUyDdN3njzKUv3UuudN5ifSCoOr1QfXLk8zli8N8xIlSRtotVpUG1UWVpZYqC0w3wlGSSjqLKchqd8XagClXJFKscLeHuKv3chPmBq6RrPR+RDcaUGqznWV/z657s0xm8mmXbpmeMz0o9eNQ9o/NrNtxRq0u43lx7gwP8aFk4c23GelsdIzPqtdgTAJXkfnv7mupRKSqont+6w9d1Zvy9ZYzkmLJWkrWq0WS/VTaYtREojmVxZXl2sLSWhK1/eOnW2bzE90uo1fUj5MpVhhqlimUiin69PlYrnT66BR6h+ydH4IITyPZILd3wGIMf7GsF/TEKWz0n7D7DdhbDsg9ZufaLIwwf7SDAfHD/D4fY/pCkhJa9J0acqS2dqyYq7IoYlZDk3MbrhPrVHjZHWek9WTXSFrrlPi/VuLx5hfWV/NqZQrbhKykvUT+XGDlqQ9qdFssFhb6gpDCyzUurrTdXevqy2umyYDki9Gy4VJKsUyU8UKs+MHOyFoqlihXCx3liuFsgWGtlkI4VLgt4DHAKeBl8QYb+/Z5/eAfwJcD/wR8LvAc4B7gB+NMd4XQngZ8K+A/cCvxhhvTJ/7MuA1wALw4nTC2+5jHwBuBi4Cbk4nu93quRfT574oxriyya6vBn4G+L/AB0II74sxnt7q6zwShihtqtYp1jCXjj06sa5ww0rPN0n5bJ79pRlmxmZ44r7Hr45D6hqLVHK8inZYIVdgduIAsxMHNtyn3qwzV53vG7JOVue4/fjX+lZwLGYLzIylExZvMEbL8XeSdotao9bVMrTY1X2ua7mWhKal2ql173mQ/K2vFJIQNFOa5tLKxWkYqnTCUDskTRTGh/7FaCFT4J0/eD3QZwqQob7ycHzm+S+8D7gAuP9ZH/rg2U7AWwd+Mcb4tRDCq4BfJAlDvX4oxnh3COH7SQLPY4GXAz8fQriOJDw9G5gBvh5C+CAwBvwycDlJ6Hob8IKe474euAV4D/CZEMKHY4xf3MqJp8Gp93j9PB74+xhjM4RwC/Ai4Pe28hqPlCHqPNaeE+hE9cRqK1LPuKSF2uK657WLNRyevJBvO/DEZC6k9Fv5/WP7/LCoc1Y+m+fA+H4OjO/fcJ9Gs5EUOemErLUtW187cQdzK/PrJy3O5tfMm7W+ZWuGSnHSFlhJA0sK9VQ73eQWusYXtcNQd0hablT7HmcsN0alOEmlWOHCiVkqM4+hUpjs6j5X6Wwfy5V21d/6YU8BMgIX9Px8xGKMxwBCCLPAE4DbzvCUeeCbaSD5G+CCNMz8p3T78RDCUeAQ8B3AbTHGUyGEjwE3hhAyMcbu5H018MPp8T6QLm8pRKXnfSLGuC+E8BySUNcCngX8YYzxl0II1wKHgU+FEH4c+DRJUDRE6ZFZri+vmTD2RFpuuntcUm+xhlKumJT4Ls3wqMrF68YhWV5a57tcNtcpaLKRdjXJ3pasdsn3O+eOcrI6v+73L5fJMdM1l9bMWNd4rbRlayfnJZM0Os1Wk6XaqTWBaKG21NV9LhlfNL+ywGJtcd0UHpBUqZ0sTHRahi6tXLKu+9xUsUK50B5fVBjBlZ5fPvP8F74E+OlNdvlOoEASFDJA6zPPf2ELqAF/tcFzfvdZH/rgTZu9bgjhu4H/k/7712c4zc8Crwgh/BpJS9Nbe441DcySTCj8I0AESEPSCZIWq+NdTzkE3JE+vockALWPlQHeCfxj4A3pfpUY4xc2OLfvIGkNWwTuCyFcF2O8PoTwU8B3xRjnQggFkgmPh8pPw+eoRrPB3Mr8huOQTiyf5FR9bVfQbCbLdHGK/WMzHJm+lKevCUhJa9K4Yzuks9YujDJTmoap/vs0W81k0uI+IetkdY67F77F3z30Feo9H4zav8cbFcLYV0omgHZMgbT7NJqNzniidd3nOkEpWV6sLW04vijpRlemXCxz4eShThGGdve69nK5MOl7wbmnnWQzPT/PKuHGGD8VQpgA/gNJi9IvbrL7k9OfnyXpivenwLe6tr8eeE+MsRFCAOj+Zq8Cffp/rl5H7/YJ4CMk3QB/HdgHvHiTc/tijPFegBDCXcBB4BvdO8QYayGEsU2OsS0MUbtQe6LS7hLfnRakdHzSyerc+mINaUnn/WMzPHb6sjXjkPaP+cFK2k2ymSxTxQpTxQqXcknffVqtFku1U2nIOrmmZetEdY57Fo/x5YduX1fhqj1H2rqQ1TW31nSfKQCyYw1qreRYDyyt0Cx1jSlY9r1D6melsdI/ENXWluteXFnsOx0DQCFb6HSX2z+2j0dXHrWu+1x7eTw/Zmv0OSxtMdqw1ahrLFQVKHX9vP9ZH/rglWfz2mm4eAdJd77NQtSrSULSX4cQPk9S2OGjAGmLz1NJuuQBHAOemW6rkISgEz3Hux94HPAVIKTPaZ/TEvDxdPGFA15SjdVw1pG2bq1vmt1mhqhttpUPIbVmPf0gdGLNnEid1qTqSVYaawuQ5DM5ZsZm2F+a4Qn7Hrtmwtj9YzPMlGac80baYzKZDOXiJOXiJI+qHO67T6vV4nT9dNcYrWTi4hPp4/uWHuD2h79GtbG+qFGlWE5DVtJl8OonX8kv/dmb1+339h94I8srDfKZHPlsnlwmRzaTtdVae1LyO7W8Or6o1jW+aKVnfFFtse/vFsB4fjwJQIUKhycvoLLvsevKc1cKSatRKVf090kAtItIpF34AErP+tAHz+rmSKvnfTrGGEmCytF0/S8A98QY/6DnKXngu4C/JhlDNZ7u/zzgF0i6zbVDyseB69NWriuBj8YYWyGEfwEcjjG+HbgVuCqEcDtJ8YnNujNuhwtIug0OlSFqm9VaNV790WvXrf+P3/vveN/fvJ+HqydYWFlfrKFSLLO/tI8LJy/gSQeewP5SUu673ZpULjjgXNJ6mUyGicIEE4UJLi5ftOF+p+vLfUPWyeocD50+zj+cvJOrnvDMvs89WZ3jur98+9rXJUMumyOfyZPP5silAWv18WrgWl2/0b558pkcuXRdPpNPj51LfnZtL5zpOF3bfc9UW3t80Zpy3N1FGGprQ1K9Z7wiJPd8u0x3pVjmyPSlSde5ztxFa0t2O35YZ+l+0up823CszwHvDiEcBuaAl6brj2yw/+uA/xpC+FmSsuUvDyEcBP6ApFvfJ9LWnptijG8PIbw5fY0FVrviXdx1/BtIWrOuAd4fY/zSNlzTZp4K/P2QX4NMa29P8XwEuOv48UWazZ25zkZpuW+Iuv57/g3v/8JH1hVq2Ffax0xpioKDOTWg7upD0naoF0/zmj99w7r1/+m5v8JtR79CvdWg3qzTaDaotxrJz2Y9fVxft73erFNvNmik22vt/dJ1q89trCuysR2ymWwn0J0prOWz/R9vZd+++60Lg/0D4vkU9Lp7aqwrQf0IuovWmnUWe+cqqq0uL66sFmFYrC31LdOdy+TS4JOML5oqVNYFou7xRefT/69z2aj+PmazGQ4cKENS1ODojp/AWUjniXpjjPHuUZ/L2Qoh3Aj8SoxxqK1Rfk2yQ2ZK07zqipeN+jQkaUMbdScay5X47ku+c6iv3Ww1abSafcPYurDWbFBvrQ1rq/uu3V5rbXSctces1lfOGBD7DfI/W9lMtieY5Xta37pa+9a0/OU7rX2r+50hAG64b09LYU8L43Z1M9uop8Y7f/D6Tmnq5Xq1b8vQfHd3ulqyfLrefx7NYq7IVCHpNndw/ACXTT+6a3xRuVOUoVIsW0xJ2mNCCOMAww5QYIiSJO0C2UyWbCa7q7tANVvNtcGt1Uha1bqDX08LXH0LrXUbBcDu7bVmndP15U1eM3ncr7XlbHW6Z241jG0QAL8/fFff489V53nHX72DhZWFdZO3t03kxztjiQ6XL+KJ6XiiTgtSV0hyMnfpEZkDPhJC+I99xkidM2KMp9MxYEO3e/9aSZJ2VCFT4J0/eD3Qp7vVKE9sl8hmsmRzWQpnV2l4qJqtZidQNTYIdrXe4NYv2HUFs42O07u92ljhVL2nu2bXvt/9uG/ve86ZTIbHTB+hUpxc031udQ6jyXWVJCVtrxjjmeaOOmd0Fb0YKt+VtpkfQiSdq5rLuU63qu4xBb53nTuymSzFXHZXTpraKC33XT9VrPDSb3vRDp+NJJ0dQ9Q280OIJEmStLcZoiRJ0tDZU0PSXmKIkiRJQ2dPDUl7iRMeSJIkSdIADFGSJEmSNABDlCRJkiQNwBAlSZIkSQMwREmSJEnSAAxRkiRJkjSAoZY4DyG8DHgNsAC8OMZ4tGvbAeBm4CLg5hjjDen6lwKvBz4cY3xtuu77gZuAY+nT/22M8X8P89wlSZIkqZ+hhagQwizwy8DlwHOAtwEv6Nrl9cAtwHuAz4QQPhxj/CLwKeD3gemufaeBd8cYrxvW+UqSJEnSVgyzO99zgdtijKeAjwHPCiFkurZfDXwixtgEPpAuE2O8E7ir51jTwMkhnqskSZIkbckwQ9RFQARIg9IJYH/X9kPAHenje4DDmxxrGviJEMIXQwg3hRDKQzhfSZIkSTqjoY6JYm1IqwCtnu2ZTbZ1+6/ArSRh60bgXwM3bPUkDhwYXeaana2M7LW193l/aZi8vzRM3l8aJu8vDdswQ9Qx4JkAIYQKsI+kNartfuBxwFeAwGrRiHVijA8CD6bH+m/ACwc5kePHF2k2N8towzE7W+HBBxd2/HV1fvD+0jB5f2mYvL80TKO6v7LZzEi/uNfOGmZ3vo8DTw8hTABXAh8FfiyE8Np0+63AVSGELEnhiT/Z6EAhhB8PIeRDCEXgh4C/HeJ5S5IkSdKGhtYSFWN8KITwZuBzpCXOSarzHUl3uYGkxPk1wPtjjF8CCCF8nmTs1HgI4UqS1qwK8Jck46j+Anj3sM5bkiRJkjaTabV2vpvbDjoC3GV3Pu1F3l8aJu8vDZP3l4ZpF3Tnuww4uuMnoB01zO58kiRJkrTnGKIkSZIkaQCGKEmSJEkagCFKkiRJkgZgiJIkSZKkARiiJEmSJGkAhihJkiRJGoAhSpIkSZIGYIiSJEmSpAEYoiRJkiRpAIYoSZIkSRqAIUqSJEmSBmCIkiRJkqQBGKIkSZIkaQCGKEmSJEkagCFKkiRJkgZgiJIkSZKkARiiJEmSJGkAhihJkiRJGoAhSpIkSZIGYIiSJEmSpAEYoiRJkiRpAIYoSZIkSRqAIUqSJEmSBmCIkiRJkqQBGKIkSZIkaQCGKEmSJEkagCFKkiRJkgZgiJIkSZKkARiiJEmSJGkAhihJkiRJGoAhSpIkSZIGYIiSJEmSpAEYoiRJkiRpAIYoSZIkSRqAIUqSJEmSBmCIkiRJkqQB5Id58BDCy4DXAAvAi2OMR7u2HQBuBi4Cbo4x3pCufynweuDDMcbXpuvGgN8HngR8Enh1jLE5zHOXJEmSpH6G1hIVQpgFfhl4JvAm4G09u7weuAW4HLg6hHB5uv5TJIGp2zXA0RjjU4BZ4HnDOm9JkiRJ2swwu/M9F7gtxngK+BjwrBBCpmv71cAn0halD6TLxBjvBO7qOdbVwCfSx3/Y3leSJEmSdtowQ9RFQARIg9IJYH/X9kPAHenje4DDWznWFvaVJEmSpKEZ6pgo1oa0CtDq2Z7ZZNtGx9rKvmscOFAeZPdtNTtbGdlra+/z/tIweX9pmLy/NEzeXxq2YYaoYyTjoQghVIB9JK1RbfcDjwO+AoR0/82OFYCvb2HfdY4fX6TZHCh3bYvZ2QoPPriw46+r84P3l4bJ+0vD5P2lYRrV/ZXNZkb6xb121jC7830ceHoIYQK4Evgo8GMhhNem228FrgohZIHnAH+yybFuBa5KH191hn0lSZIkaWiG1hIVY3wohPBm4HOkJc6BFwBH0l1uIClxfg3w/hjjlwBCCJ8nGTs1HkK4kqQ1678AN4UQvkxS4vzWYZ23JEmSJG0m02rtfDe3HXQEuMvufNqLvL80TN5fGibvLw3TLujOdxlwdMdPQDtqmN35JEmSJGnPMURJkiRJ0gAMUZIkSZI0AEOUJEmSJA3AECVJkiRJAzBESZIkSdIADFGSJEmSNABDlCRJkiQNwBAlSZIkSQMwREmSJEnSAAxRkiRJkjQAQ5QkSZIkDcAQJUmSJEkDMERJkiRJ0gAMUZIkSZI0AEOUJEmSJA3AECVJkiRJAzBESZIkSdIADFGSJEmSNABDlCRJkiQNwBAlSZJ2zGSmxvL9DzCZqY36VCTpETNESZKkHdOqrXDby19Bq7Yy6lORpEcsP+oTkCRJe0+r2aS1UqW5XKVZXWZ6XxkadVYefhiAlQceYOLgQSiNcapVGPHZStJgDFGSJJ3HWq0WrVqNZnWZVhp4mtUqzWqVVnW5E4KS5fTxunVVmsvLq9urVVora1uannLDdXz5dW/oLH/12us66+9469vIT02Tm5oiPz1Nbmo6WZ6eTpenyE9Nk52cJJPJ7Oh/H0nqxxAlSdI5olWvpwFneU146axbrtJcWV3XCUFpi1Crurpvc7mathQtQ6u15XPIFItkS2NkSyUypRLZseRxfmqazFiJbLFEdqxEtjS2Znt2aoqnvfMd1E6e4KvXXseT33gt+elpmrUVJi9/Go25Oerz86zce4z63Bw0GutfPJdbDVdTU0nYmu6zPDVNdmzMwCVpaAxRkiRts05Xtupqd7a1rTgbBZqulqDlrqCUPr9Vr2/5HDL5PJk+gSa/b99qACqNdbb3W9dZLiXHyRRLZLKPbDj1cvpzoph03SteeAGn8pMAXPiTP732v1+rRXNpifr8PI35Oepzc2t/zs9TP3GC5buP0pif7xsCM8ViJ3C1W7I6rVo9rV3ZYvERXZOk85chSpJ03mq1WrTqtbXd2JZ7uq6tCzRdrT4bdH3r7cq2qUwmDTBrA02uXCZ74EAn1GTaYSYNNpmx7oAztiYwZUslMvnd+Sc+UyjyjPe9h2YuDxs0gGUyGXLlMrlyGQ4f3vR4rWaTxuJi2pLVHbbmO6Gr9sADLP/DP9BYXOh7jOz4eCdo9WvVWg1dU7v2v6ukneU7gSRpjU4J6lyepV004L9Vr/d0S1tJQ0y/QLO2m1t317U13eEeUVe27laa5HFuaqrzuN1i0+nGtsG6dgjKFArnVbezpVaB2Qv28+CD/QPNoDLZLPmpKfJTU5R41Kb7tup1GosL1OdWg1ZvS1f1W9/k1Pw8zVOn+h4jOzm5ftzWmtCVtnRVph5xq52k3c8QJUlao1Vb4bZrXskV730X5AcPUUlXtnbAWekpTtC/69rasTu9Xd8G78pGLrfaLa1YItMetzMzk7TadAWgbGl1+5qA1B140m1+KD63ZfJ58jP7yM/sO+O+zdpK2prVE7Tm5zrjt5bvupP6/BytarXPi2XIlSvrimOsBq2ZTutWdnLSe0s6xxiiJEm0mk0mWYGVFVaOPwRA9b77GJuZoVlvcO+n/3rDbm5rx/dU+3+g3EinK9varmnZyUny+/evdnPrCjXr9i31dHUbG7PLlc5atlAke+AghQMHz7hvc3k5Gb81N0d9/uSaroTt9Sv33ktjfq7/lwG53Gpr1tRU2ro13bdwRnZ8/LxquZR2K//KDMlu7Q4j6fzQarVoVZepzy/QWJhPPtSlPxsLC+m/+eQD3sI8jcVFnnL9G9aUoL79jW8CkhLUxz/0x2QKhfVjcUpj5CqVPsUIurqxdQeeYmnN8zPFoh8Idc7Ljo1RHBuDQ4c23a/VatE8farTkrU6jmu+08WwPjfH8je/kRTMaDbXHSNTKPQvBd9dIj5dzpZKw7pk6bxniBqS1vIyt73y57ni3b9FK5+zmV7SWWvWVpLw0w5GCwtdwWh+NTCl6zbq/pYdHydXmSJXqVA4dIjxxz6O3FQFxid42m+8jdrJk3z1Ddfz5OvfSPHgASgUefz7ftf3MeksZTIZchOT5CYmKV505oIZSYXC/tUJG3Nz1B58kOU77kgKZvSrUFga61ORsE9L19QU2YJf+EqDMERts8lMjdbyMsvf/AYAy9+4m1K5TP30ae74nRvJTU4mFZcmJ8lNlpPlyUmy5XLXcrLdJntpb+tUFVvTUrQahOoLC10tR/M0T5/ue5xMPk9uappcpUKuMkXp4ouTkDQ1Rb4yRW6q0glNuUqFbKF/Oed2PbmJ9Nvr4qHZTglq34qknZXJZju/s6WLL9l031ajkXypskF1wvr8PCvHjlG//Xaap5b6HiM7MbG2UMZ0TytX+2elQiaXG8YlS+cUQ9Q2a9VW+MIrf76z/PdveSsAl//6rzF26aU0FpeonzxJ455v0VxaSipDbSSbTQJWd+Aql8l2ha3O9vLq9kzJCQalUeh01Znv6iq3uLBBS9ECjaXF/pXhMplOIMpPTVE4ctmaIJRPA1KyvbLtv/NbKUEtaffI5HLkZ2bIz8yccd9mrZa8B63rUrgavpa/cTeNubn+n1Ha5ec7XQn7dS1MQlhusmwLtvasTGuA0q7noCPAXcePL9Js7sx1TmZqtGor1B46zldedy3fdsP1FA4eIFMo9h0b1arXaSwt0Vhaorm0RGNpMfm3uJguJ+uaS0vJN9bpulZ1k/CVyyXdBTotXl2Bq9wVwHq2Z0olw9c5ZHa2sm0lgrWxZrXaCUJrWorayz3ji2g0+h4nOzFJbioNQGlASlqKKp1AlKsky7uhUpf3l4bJ++vc0KxWk/e6TboUtqsVtmq19QfIZpP3td6uhOuqFU6TnZjYts8go7q/stkMBw6UAS4Dju74CWhH2RK1zZZaBcgXmEiL+RQOHki6w2w0oWA+Tz59QxlEs1ajeSoNWZ3AtbgaxhYXO8v1h49T/eY3aCwubjoBZCafXxOqOi1g5Z7lNa1fZQeG65ySzBOzuLaoQhqEVpeTsFRfmN+w0lymWOx0l8vPzFC69NJOCMp1WooqyYeGcsVqcZLOOdlSiezsLIXZ2U33a7VaNJeXN53wuD4/z8o936I+P9f3y6ZOt+R0/FZ30Epat2Y627JjYxuei4W9tFP8qz4kw+4Oky0UyE7PkJ8+c9N9t2ZthebSqa7AtbjawrW4uCaY1R56iOrdd9NY2kr4KveM99qg9WtydbtVg7QdWs0mzVOnesYQtQPSaqtRuwhDc6n/eAByudWucpUKhdkL+rcUpd3qvH8lKZHJZMiNj5MbH6d44YWb7ttqtToFMzbqUlh/+DjLd91JY2GjghmlngmOV3+Of/vT+PyrX/uI57mTtmqoISqE8DLgNcAC8OIY49GubQeAm4GLgJtjjDek668GfhWoAz8TY7wthBCAz7LaNPr2GONNwzz3s7XdM7Jvl2yhSHamuKV+092aKyuroatP61djaZHmYvKz9sADLC8t0lxc3HRyzEyh0FNgo0y2vBq2esd7ZdNWsY0GxWtvSEpzV9eW417TdW61lajditSvDDBAtlzuhKLiJZcwno4xag/WznWWp7a1K4kkqb9Me0xVuQyHL95031azmf4N6ApbXZMe1+fmWLnvPupfizzhVa8gXy5TPXYMgNpDx5k4yIbDKaSzNbQQFUKYBX4ZuBx4DvA24AVdu7weuAV4D/CZEMKHgduB3wKeCcwCNwHPAKaBW2KMPzWs89XmssUi2WIR9p15lvduzWp1/XivpSWai6vhq7195f77aNyZBLVNw1exuKZFqxOyJtYW2Mj2Vju0fOvIJAOZF3qKLKwGpE4rUhqKNmr5zI6NdbrKFQ4eZOyyy3qKLHSNNyqXrSAlSeewTDbb6dp3prb/sdoSX3jFKzvLX3ndtQC2SGlohtkS9VzgthjjqRDCx4AbQwiZGGO7XfZq4IdjjM0QwgfS5QrwQIzxAeCBEEIxhHARSYg6OcRz1ZBk00k32b9/y89ptVq0Vla2UGAjWV6591indWyjQf2QNP93SspP9iuw0afa4WTZsSx9tJrN5P9P3yILPS1F82cozd0utDA1Remiwz3luFdbinKVShLkJUnqkSkWueK97+pb2MsqoxqGYX46vAiIAGlQOgHsB46n2w8Bd6SP7wGe1f2crvWHSULU94UQPg/cDVwTY7xviOeuEcpkMmTS8FXYf2DLz2t3A9uowEZv69fKsWPJ9lNLZwhfY2tbvDYosLGmdWxycqjha7sHzialuU93FVnoKsfd3VLUbj3aYGLHpPRtpVNUYezSR3cVWVgdT9QJRc6FJknaBoMW9pLO1rC/Yu+u0Vth/a2c6bOt33P+lCRw3Q68FbgBeNlWTyItNzkSs7OVkb32+WvzKkK9Wq0WjdPL1BcWqC8uUl9YoLawSH1xgfrCYmd9bSFdvvceqouL1BYWNxyLA5AbHydfqZCvlMmXyxS6HucrFQqV5GeynG7fYhe05fsf4LaXv4JnvO89zF7Qv5WvUa0m1ZBOzlGba/+b7/k5Ry3dvlEXytzkBIXpaQrT04xfekn6eIriTDInSPtxYXp6y+evc4PvXxom7y8NQ22uyTPe9x5yYyUmp73HNDzDDFHHSMY2EUKoAPuAE13b7wceB3wFCOn+x9LHbQE4FmNcBD6fHut3gd8c5ER2cp6obs6DcY7JjsPUOEwlISzP5r8g7dab9QU2Vufzanc5rC4scuq+Bzr79m3F6ZzG+GqrVk/r1+Grnk0ul6d2Mundeuqee6gtLNKoVjn6hx/stBo1FhY2nMg5UyisGUM0dsFhJrvLcXcyTB6WAAAIqklEQVS1HOXK5TOOJaul/1gBHj616b46d/j+pWHy/tLwZJm94FByf+3wPdY1T5TOA8MMUR8Hrg8hTABXAh8FfiyEcDjG+HbgVuCqEMLtJIUnfpqkpelACOECku5+d8cY7wsh/Fi6/zLww8DfDvG8pS3JZDLkJibITUyccQ6Nbq1mk+by6Q0LbLS7ILYDV+2hB9Py86c4/B3P4O9e94bOsW6/7gYAnvLmN1F76CHylSkKs7PriyykY47ylSknVZYkSTpLQwtRMcaHQghvBj5HWuKcpDrfkXSXG0hKnF8DvD/G+CWAEMIrgT8jKXHe7rJXS9ddAHwZeOmwzlsatkw2S25iktzEJMwe2vLzWs0meWpc8a53snL8OF+99jqe/KbrKB48SKZY5Mgb3zTEs5YkSVJbprVJt6I94Ahwl935tNdM1Jf4wjWv5Ir3visZOCttM9+/NEzeXxqmUd1fXd35LmN1blPtUdZuls5BmUKRZ7zvPTRzeSsPSZIk7bDsmXeRtNsstQqMXXDIWdglSZJGwBAlSZIkSQMwREmSJEnSAAxRkiRJkjQAQ5QkSZIkDcAQJUmSJEkDMERJkiRJ0gAMUZIkSZI0AEOUJEmSJA3AECVJkiRJA8iP+gSGLAeQzWZGdgKjfG3tfd5fGibvLw2T95eGaRT3V9dr5nb8xbXjMq1Wa9TnMEzPBj496pOQJEnSeeO7gL8c9UlouPZ6iCoB3w7cCzRGfC6SJEnau3LARcDfANURn4uGbK+HKEmSJEnaVhaWkCRJkqQBGKIkSZIkaQCGKEmSJEkagCFKkiRJkgZgiJIkSZKkARiiJEmSJGkAhihJkiRJGkB+1Cew24QQysC7gacCp4GfAI4Bvw88Cfgk8OoYYzOEcDXwFuDrMcYfSZ+/H3g/cDHwF8BrYoz1Pq/zeuBfpMd+UYzx4RDCq4CfBA4Cvx9jvHaY16rRGOU91rXtbcDTY4xXDes6NRojfg/7WeB1wEPpbj8eY/zqsK5VO2/E91cReCfwncCDwEtijPcM8XK1w0Z1f6Wv9VdduxwG3htjfMMQLlN7hC1R6z0F+O8xxqcD/x14E3ANcDTG+BRgFnheuu/fAb/Z8/xfAv4i3bcOvLj3BUIIV6THuBz4Y5IPHQBfBJ4JPBH46RDCo7bxurR7jPIeI4TwRODZ23lB2lVGeX9NA6+LMT49/WeA2ntGeX/9HFCLMV4O/CzwwDZel3aHkdxfMcbT7fctks9hdwC/sd0Xp73FENUjxvjZGOPH0sW/BC4FrgY+ka77w3SZGOO3gNhziKcCH00ffwT44T4vczXwyRhjs+d4nwIywBXASZJvSLTHjPIeS/1nkm/vtAeN+P6aJnnv0h414vvrJ0jev4gxfj3GWDvrC9Kusgv+PgK8giTIPbzumVIXQ9Tmngn8P+AiVn9R7yFp5t3IncD3hhBywHeTNCn36hwvxngcONC17X8BnwF+LsbYOKuz17lgR++xEMLzgG8Ct23HyWvX2+n3sGng34QQvhxC+I30GNq7dvr+ugS4OoRwWwjht72/9rxRfAaDJKz/t0d+2jpfOCZqAyGECvALwA8B38tq4KwArU2e+mbgRuCfkTQTnwwhHEkfA1yf/symr1Oi6/9DjPH7QwhPAP5nCOF7Yox2V9ijdvoeS8cT/ApJN4bydl2HdqcRvYe9Nf15CvgQ8C/xw8ieNKL7axK4D/jHJPfX84H/edYXo11nVJ/BQgiXAYsxxrntuA7tbYaoPtIPmx8E3hxjvDOEcAwIwNfTnxt2s4sxHgOemx7nBST9eI8CT+86/pPS4wA8nuSPQvcxvhZC+LP0OH4A2YNGdI89m+Qbt1uBEvDYEMLbY4yv3d6r06iN6j0sxnh31z5/RDK+U3vMCP9G3gt8LsbYCiH8OfC47bwu7Q4j/gz2dODL23Yx2tMMUT1CCBmSbzH+NsZ4U7r6VuAq4E/Snzdu8vzDJFVeFoBXknzz3+tW4LdDCNn2cdOKMi8j6e89QfIm4Ddse9Co7rEY4yeAJ6THeDRwowFq7xnhe1gReCFwM8l72PcBv332V6TdZFT3V7r+Q8ALQwi/la5/71lejnaZEd9fkHT/sweQtsQQtd4rSMpdfi6E8Pl03YuA60MIXyYpr3krQAjhT0g+lM6m+/4I8Cjg7UCR5EPqZ3tfIMb4xRDCR0iq8R0jKbM5R9JV4W+A/cDvxRg/PayL1EiN6h7T+WFU91cdeCzwOeAC4OYY4y3DukiNzCjfv24AbiKp0vd/Yoz/ayhXqFEa9d/HMkkIk84o02pt1rVUkiRJktTN6nySJEmSNABDlCRJkiQNwBAlSZIkSQMwREmSJEnSAAxRkiRJkjQAQ5QkaSAhhGtDCM9PH98YQvjFUZ+TJEk7yRAlSRrU9wCFUZ+EJEmj4jxRkrQHhRCuBH4V+AYQgCXgLcCr0+UPxhhfG0J4ebquAdwPvCrG+LUQwo3APPBUkgksvwi8BPhJ4NeAB4FfAJ4PTAEXkkyy+2XgxTHGpR25UEmSRsCWKEnau74deEuM8QqSQPTvgauBfwS8MoTwYuDfAVfFGJ8G/A/glhBCJn3+M4AfAJ4EHAH+eYzxXcDfAv82xvjH6X4XA98HPAG4BHjBDlybJEkjY4iSpL3rrhjj59PHdwB/HmNciTE+RBKqfhT4gxjjgwAxxhtJAtGR9Dl/GmOsxhhrwJeA/Ru8zi0xxlMxxgZJS9ShoVyNJEm7hCFKkvauas9yrWe5lf7rlmF1vNPpnn0z9Ffb4n6SJO0JhihJOn99EnhRCGEWIITwU8Bx4OtneF4dC0tIks5j+VGfgCRpZP4caAKfCCFkSYpFPC/G2AwhbPa8DwO/GkIo7sA5SpK061idT5IkSZIGYHc+SZIkSRqAIUqSJEmSBmCIkiRJkqQBGKIkSZIkaQCGKEmSJEkagCFKkiRJkgZgiJIkSZKkARiiJEmSJGkA/x8np86cTweRrgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from toad.plot import badrate_plot\n",
    "\n",
    "col = 'var_d2'\n",
    "\n",
    "# 观察 'var_d2' 分别在时间内和OOT中的稳定性\n",
    "badrate_plot(c.transform(train[[col,'target','month']], labels=True), target='target', x='month', by=col)\n",
    "badrate_plot(c.transform(OOT[[col,'target','month']], labels=True), target='target', x='month', by=col)\n",
    "\n",
    "badrate_plot(c.transform(data[[col,'target','month']], labels=True), target='target', x='month', by=col)\n",
    "'''\n",
    "敞口随时间变化而增大为优，代表了变量在更新的时间区分度更强。线之前没有交叉为优，代表分箱稳定。\n",
    "'''"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "No handles with labels found to put in legend.\n",
      "No handles with labels found to put in legend.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a2d1b5f60>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x432 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 看'var_d5'在时间内的分箱\n",
    "col = 'var_d5'\n",
    "\n",
    "#观察单个变量分箱结果时，建议设置'labels = True'\n",
    "bin_plot(c.transform(train_selected[[col,'target']], labels=True), x=col, target='target')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(3) ***调整分箱：***c.update(dict)\n",
    "\n",
    "update 后会更新被修改的箱"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "No handles with labels found to put in legend.\n",
      "No handles with labels found to put in legend.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a24375208>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAwIAAAF2CAYAAADdkC9GAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzdeXxU5aH/8c+smcwkgQBhDbLKA8oiiCB73JCI2rrWqlWrttreWvG2tl5br9ZSsXVrq62l17b23t5b2/rrApYIiIKsQRbZhIct7HsISzKZmczM+f0xkQZECcswJPm+Xy9eZM5zzpnv8BKc79kel+M4iIiIiIhI0+LOdAARERERETn7VARERERERJogFQERERERkSZIRUBEREREpAlSERARERERaYK8mQ5wCnKBO4E1QE2Gs4iIiIhI4+QDegJ/AA5nOEtaNMQicCfwy0yHEBEREZEm49VMB0iHhlgE1gAcOlRNIpHMdBYRERERaYQ8Hjd5edlQ+92zMWqIRaAGIJFIEo8fvwj86EdPUV0dZvz4n/Bv//YVsrOzef75n39ivf37y7nhhmt45pnnGTZsxAnfeNOmMp5/fgJr1nxE69ZteOCBf2PUqMs/df19+/by3HPPsGTJYvLy8vjSl+7h85+/+ch4JBLh5Zdf5N1338HtdnHZZVfy0EP/TlZWFgCrVq3klVdeYt06S35+C2688Va++MU7j2xfVVXJiy/+mLlzZ+P3Z3HDDTdzzz3343K5AFixYhlf+9p9R2XKzs5m+vTZJ/ysIiIiIgI04kvRG2IROCljxozlhRee5dChQ+Tl5R01NmPGdHJz8xg8eMgJ9xONRvnWtx5i8OAhPPro48ybN4ennvoev/7165x/vjnuNv/xH9+mZcuWTJz4O6xdzXPPTaCgoM2R0jFhwg9Yv34dzz33MxKJBE8//X2CwSBf//rDVFRU8O1vf5NrrrmW73//B5SVbeTpp58gLy+PsWOvB+DZZ8ezZ89uXn55Irt37+ZHP3qKvLw8brrpC0CquHTr1p0XX3zlSCa3W/eHi4iIiEgTeGrQZZddidvtYfbsmZ8Ye+edqVx55dV4vSfuQ++99w41NTX8+79/l06dOvPFL97J0KHDefPNPx13/WXLlrJ27Roef/xJunbtRnHxtdxww838+c//B8CWLZuZMWM6Tz31I3r37kO/fhdx//0PsmrVSgB2797F0KHD+MY3HqFDh0KGDx/JwIGDWLJkEQC7du1k5swZfOc73+P88w3Dh4/kvvu+yp/+9H9HMpSVbaBz5660bNnqyK/8/BYn+0coIiIiIo1Qoy8COTk5DBs2gvfee+eo5Tt37mDVqhWMGTP2yOvhwwcyZcrk4+5nxYplXHhhn6NKw0UXXczy5R8ed/3ly5fRtWs38vKaHVnWv/8AVqxYTjKZ5IMPSiks7HjU2YTi4mv5xS/+C4CePXvxxBM/xOVy4TgOixd/wNKli7n44ksAWLlyOaFQDt26dT8qz44d29m3bx8AZWUb6dSpc33/qERERESkCWn0lwYBXH31NXz/+9856vKgd96ZSufOXenZsxcArVu34R//eJucnJzj7mPv3r20bdv2qGUtW7Zi7949x11/3749FBS0/sT6sViUgwcPsn37Vtq3L+Tvf/9//PnP/0csFqOo6Aq++tWv4/f7j2zjOA6jR4+kurqaoUOHM3p08ZE8BQUFn9h/amw3rVq1oqxsI9nZQe6++4scOnSQiy4awDe+Me7IeiIiIiLSdDX6MwIAl146lJycnKMuD3rnnamMGXPNkdcej4eWLVuRlRU47j6i0Qg+n/+oZX6/j5qa498/EolE8Pl8Ry37ePuamhjhcJiPPlrBjBnTePzxJ/nWt77LzJkz+PnPXzhqm2QyycsvT+SZZ55n7VrLCy/8+DPzAMRiNVRWVrJv317i8TiPPfZ9nnjiaXbu3MG3vvVN4vH4p/1RiYiIiEgT0SSKgNfr5YorRvPuu6nLg8rKNlJWtvHI0fX6yMrKoqYmdtSyWKzmU4tDav2jS8LH2wcCAbxeL9XV1Ywf/2N69+7LkCHDeeihR5g8+e9Eo9Ej23g8Hnr2vICRI4t46KF/Z8qUSVRWVuL3Hz/Px/vPyclh6tSZTJjwPL16XciAAQN55pnn2LhxPUuXLq735xYRERGRxqlJFAFIXR60ePFCDh06yPTpb9O//0Bat25T7+0LClpTXr7vqGXl5fs+cXnOv9Zvc+Ra/brrp76k59KqVQEtW7aiWbPmR8Y7depCIpFg3769bNmymQUL5h21fdeu3UgkEhw+fIjWrVtTXl7+if0DtGqVuvQnFMrB4/EcGW/RoiV5ec0+9XImEREREWk6mkwRuOCC3rRv34G5c2cza9a7R10WVB+9e/dl5coVR11W8+GHi+ndu+9x1+/Tpy9lZRs4dOjQkWVLly7hwgv74Ha76d27L+Xl+44qC2VlG/D7s2jZshXLly/lySf/g0gkcmR8zZqPyM4O0qZNW3r37sehQwcpK9t4VJ727TvQsmUrVq5cwVVXjWTXrl1Hxnft2sXBgwfo1KnLSX12EREREWl8mkwRABg9upi//OWP7Nmzm6KiK44aSyQSlJfvIxqNHHfboqIrcLvd/PjH4ykr28gbb/yB+fPncvPNtx1Zp7x8H+FwGIC+fS+iS5du/OAH32fDhvWUlLzF3/72JrfddgcAAwYMpEcPw1NPPc66dWtZunQxv/zlzxk79noCgQCjRl1BMBhiwoQfsGXLJubMmcUvf/lz7rrrXtxuN23btmXEiCLGj3+SNWtWM3fubH7zm1/zxS9+CYAePQytWrViwoSnWb9+HR99tJL//M/H6N//Yi68sHc6/nhFREREpAFxOY6T6Qwnazgwu6Kiql4zC9e1c+cObr31c4weXcwTTzz9ibFbbrmexx9/kmuuue64+12/fh3PPz+BtWvX0K5de772tYcYPnzUv4INH8iXv/wV7rvvASB1BP4nP/kRH364hBYtWnD33fdx3XWfP7J+RUUFP/3pT5g3by5+v4/Ro6/ha1976MhTgzZtKuOnP32OVatWEgqF+PznbzpSBAAOHTrE889PYN682YRCIW644Rbuuef+I/vfvn0br7zyEkuXLgEchg0bycMPf+uoR5qKiIiIyCd5vW7y80MAI4A5GY6TFo2yCIiIiIiInI6mUASa1KVBIiIiIiKS0iQmFBMRERERSSdjzP3Aw8Bh4HZr7aY6Yy2BN4B2wBvW2vHGGC/wPKkzDm7gK9baRcYYAywAPt7+JWvtf6cjs4qAiIiIiMhpMMYUAI8BfYFRwIvAjXVWeQL4O/AqMNcYMwmoAhZZa8cZY8YCPwOGAc2Av1trv5zu3Lo0SERERETk9IwGFltrw8BUYJgxxlVnfCzwrrU2CbwJjLXWbrDW/qF2fA5wXu3PzYADZyO0zgiIiIiIiHyKkpKStuPGjet8zOID1tq6X9bbARbAWps0xlQALYCPZ39tDWyo/Xk7qSP/dQ0GltT+3Ay40hizFNgMPGit3UUa6IyAiIiIiMineO655/4ClB3za9xxVq37vToXOPbRnK7jjdXeK/AUqfsFAN4G7gKGAFuB8af1AT6DioCIiIiIyKd49NFHbwG6HPPrp8estgMwAMaYXCAfqKgzvhvoXvuzqV3/Y68BJdba2QDW2kpr7VJrbQT4LdDzjH6gOnRpkIiIiIjIpyguLt5VXFy86QSrTQOeNsYEgSKgBLjVGNPeWvsS8BZwmTFmNambie8FMMY8C/ittT/8eEfGmFtr148A1wOLzuwn+hcVARERERGR02Ct3WeMeQYopfbxoaSeGtS5dpXxpB4f+iDwR2vtCmNMMfBdYHHt/QAA3wRqgOlAG2AlcE+6cmtmYRERERGRY2hmYRERERERaZRUBEREREREmiDdIyAiIiJyAslkkhdeeJb169fh8/l47LEnKCzseGR80qS/8Y9//BWPx8Pdd9/HsGEj2LVrFxMmPE0iEQfgO995nPPO65yhTyDySTojICIiInICs2fPJBaLMXHi73jwwYd45ZWXjoyVl+/jzTff4NVXf8OLL77CxImvEIvFeO21V7npplt55ZVf86UvfZlf/eoXGfwEIp+kMwIiIiIiJ7B8+YcMHjwEgN69+7BmzeojY6tXr6JPn374/X78fj8dOnRkw4Z1fOMbj5CTkwNAIpHA7/dnJLvIp9EZAREREZETqKqqIhTKOfLa7XYTj8ePOxYMBqmsrKR58+Z4vV62bNnEL37xU+699ytnPbfIZ9EZAREREZETCAaD/OlP/8vrr7+Gz+cjHo/j9aa+RoVCIZYtW8q9996J2+3G5XKRm5tLNBrhkUe+gbWrOf98Q25uswx/CpGj6YyAiIiIyAl4PF527tzBxIm/Y/Toa3Ccf81l1LFjZ9asWc3LL/+KH/7wWdauXUOXLt14+eWX2Lp1C//7v29y881f4Pe//00GP4HIJ+mMgIiIiMgJJBJx2rZtx4MP3ovjODgOvPHGHygs7Millw6jbdt2fOMbD5BIxMnNzSMrK4vp098mJyeX8eOfJJFIUFa2kXHjvp3pjyJyhIqAiIiIyAmEw2Fuu+1OhgwZBsCNN47l5ptvw+v1Eo/H6dXrApYuXUQikeRLX7oHgJ49L+SRRx6lc+cuJJNJbrrp2gx+ApFPUhEQEREROYFQKEQ4HD7y2nGcI/cILFgwl/Lyffz5z5MA+Na3HqJPn36121QBqSLx8ROERM4VukdARERE5AT69OnHggVzAVi5cgVdu3Y/MvbxpUB+v5+srCxycnKorKykT59+zJ+f2mbBgrn069c/I9lFPo3LcZxMZzhZw4HZFRVVxOPJE64sIiIicro+nll4w4b1OI7D448/yfz5cygs7Mjw4aP4zW8msmDBPNxuN337XsTXv/5NotEo48c/SXn5Pnw+H08+OZ6WLVtl+qNIPXm9bvLzQwAjgDkZjpMWKgIiIiIiIsdoCkVAlwaJiIiIiDRBab1Z2BhzP/AwcBi43Vq7qc5YW+AvQCHwPvBla60O8YuIiEiD4cSiRD9cQmRRKb5u5xO6emymI4nUW9qKgDGmAHgM6AuMAl4EbqyzysPAVOAZ4A/AFcD0dOUREREROVPi27YQKZ1HdOlinGgET+s2+Dp1znQskZOSzjMCo4HF1tqwMWYq8LoxxmWt/fimhEPAVmtt0hizGIilMYuIiIjIaUlWVxNd+gGRhfNJbN8GPh9ZffsTGDwMb+cuuFyuTEcUOSnpLALtAAtQ+2W/AmgBlNeOvwpMNsbkAgb46bE7MMY0B5rXXTZx4sS2RUVFaYwtIiIikuI4DvFNZURK5xJdvhRqavC0LyR0wy1k9R+IOzuY6YgipyzdE4rVvRk5F6j7iKJiYBqQBQwEOgKbjtl+HPBk3QUTJ06kqKjo47u4RURERM64+OHDHJw3jwOzZhHbsQN3IEDzYcNoPmoUgc6ddfRfGoV0FoEdwGCA2qP++UBFnfFHgcHW2hpjzAHgQVL3FNT1U+D1ugseeOCBgcBf9PhQERGRk9csP4jf68l0jHOSk0wSXrOGAzNncnjJEpx4nOxu3Wh3773kDRqEOxDIdMQmKxZPcLAifOIVz6A6jw9ttNJZBKYBTxtjgkARUALcaoxpb619CcgDLgYWAOcD2cfuwFp7ADhwzOLCNGYWERFp1PxeDy+9vzrTMc4pWeFKOqxbQYe1ywkdPkDMH2BHj35sM/2ozC9IrbSwLLMhm7hHRvbKdIRGKW1FwFq7zxjzDFBK7eNDST01qHPtKvcAv64tCuuBu9KVRUREROQoySQF28sotMso2Loet+NQ3vY81g8Ywe5OPUh60331tEjmpfW/cmvtb4Hf1ln0Yp2xOaQeLSoiIiJyVgQqD1K4djkd1q0gu+ow0UCQTb0Hsa1HX8LNWmQ6nshZpborIiIijZormaD1lvUU2mW02p66xGdfhy6sGXwFe87rjuPWPRPSNKkIiIiISKMUPLj/yNH/rEiY6lAuGy4ayrYefYnkNMt0PJGMUxEQERGRRsMdj9Nm81oK7TJa7tpC0uVib8fubDX92NehC7jdJ96JSBOhIiAiIiINXk7FXgrtMtqvX4U/FiGc25y1F49k+/l9iAZzMh1P5JykIiAiIiINkqcmRtuyNXS0y2i+dwdJt4fdnXqw1fRjf7vzQJN+iXwmFQERERFpOByHvPJddLTLaLdxNd6aGJXNW7J60OXs6H4hNYFgphOKNBgqAiIiInLO88aitNuwio52GXn795DweNnVpSdbTT8OtO6go/8ip0BFQERERM5NjkPz3dvpuHYZbcvW4EnEOdiyDauGjGZn117EswKZTijSoKkIiIiIyDnFFwnTYf1KCtcuJ+dAOXGfn+3de7PN9ONQq7aZjifSaKgIiIiISOY5Di12bqajXUabzetwJxNUtG7PiuHF7OrSk4TPn+mEIo2OioCIiIhkTFa4kg7rVlC4djnBwweI+QNs6XkR20w/KvMLMh1PpFFTERAREZGzK5mkYHsZhXYZBVvX43Ycytuex7oBI9jdqQdJr76eiJwN+psmIiIiZ0Wg8iCFa5dTuHY5gXAl0ewQm3oPYluPvoSbtch0PJEmR0VARERE0saVSNB663oK7TJabS8DYF+HLqy+9Er2nNcdx+3JcEKRpktFQERERM644MH9FK5dRod1K8mKhKkO5bLhomFs69GXSE5epuOJCCoCIiIicoa443HabLZ0tMtosWsrSZeLvR27s9X0Y1+HLuB2ZzqiiNShIiAiIiKnJWf/XgrXLqP9+lX4YxGqcptjLx7FjvN7Ew3mZDqeiHwKFQERERE5aZ6aGG3LVtPRLqP53p0k3R52d+rBVtOP/e3OA5cr0xFF5ARUBERERKR+HIe88l10tMtot2E13niMyuYtWT3ocnZ0v5CaQDDTCUXkJKgIiIiIyGfyRiO02/gRHe0y8vbvIeHxsrNrT7b16MeB1h109F+kgVIREBERkU9yHJrv3k7HtctoW7YGTyLOwZZtWDVkNDu7XUDcn5XphCJymlQERERE5AhfJEyH9SspXLucnAPlxH1+tp/fm209+nGoVdtMxxORM0hFQEREpKlzHFru2Ezh2mW02bwWdzJJRev2rBhezK4uPUn4/JlOKCJpoCIgIiLSRGWFK+mwbgWFa5cTPHyAWFaALb0GsK1HXyrzCzIdT0TSTEVARESkCXESCQq2rKdw7TIKtm7A7TiUtzuPdQNGsLtTD5JefTUQaSr0t11ERKQJSFTsJ7JwPgcWl3JxRQXR7BCbeg9im+lHOC8/0/FEJANUBERERBopJx4n9tEKIqXzqVm3BoBQnz4s7F/E3vO64bg9GU4oIpmkIiAiItLIJPbuIVI6j8jihTiVh3E3zyf7yjEELrmUtj06sef91ZmOKCLnABUBERGRRsCpiRFdsYxI6TziG9eD243/gt4EBg3FZ3rhcrszHVGkUTPG3A88DBwGbrfWbqoz1hJ4A2gHvGGtHW+M8QLPAyMAN/AVa+0iY4wbeAUYCawC7rbWRtKRWUVARESkAYvv3EGkdB7RJR/gVIdxt2xFsPg6AgMvxZ2Xl+l4Ik2CMaYAeAzoC4wCXgRurLPKE8DfgVeBucaYSUAVsMhaO84YMxb4GTAMuB4osNb2Nsb8GPgq8PN05FYREBERaWCcaJTosiWpo/9bNoHHi79PXwKDh+Lrer6O/oucfaOBxdbasDFmKvC6McZlrXVqx8cC11trk8aYN4Gx1toJwIba8TnAeXXWfbf25z8Dz6AiICIi0nQ5jkN82xYipfOIfbgYJxrF06YtoetvJGvAINyhUKYjijRKJSUlbceNG9f5mMUHrLUH6rxuB1iA2i/7FUALoLx2vDX/+tK/ndSR/7oGA0uO3Vftuu1P9zN8GhUBERGRc1iyOkx0ySIipfNI7NwOPh9Z/QYQGDwUb6cuuFyuTEcUadSee+65vxxn8Q+Ap45ZVvdUXC7gHDPuOt5Y7b0CTwHfPc6+jrefM0ZFQERE5BzjOA7xsg2pa/+XfwjxGjwdOhK68QtkXXQx7uzsTEcUaTIeffTRW8aNG7fomMUHjnm9g9RRfYwxuUA+UFFnfDfQndTNv6Z2/Y+9BpRYa2fX2ZcB3jnOumeUioCIiMg5Ill5mMjihUQXziexZzeurACBgYNTR/8LO2Y6nkiTVFxcvKu4uHjTCVabBjxtjAkCRUAJcKsxpr219iXgLeAyY8xqUjcT3wtgjHkW8Ftrf1hnX28BdwG/AC4D/nkGP85RVAREREQyyEkmqVm/lsjCecRWLodEAm+nLuTcegdZ/frj8mdlOqKInIC1dp8x5hmglNrHh5J6alDn2lXGk3p86IPAH621K4wxxaQuB1psjFlau943gcnAaGPMSlJnEB5PV26X46TtsqN0GQ7MrqioIh5PZjqLiIjIKUkcPEh00QIiC+eT3F+OKxgk6+JBBAYNxdu2Xdret6Agl5c0oZg0MI+M7MXevYfP6nt6vW7y80OQes7/nLP65meJzgiIiIicJU4iQcx+RLR0PrE1qyCZxNe9B6Ex1+Lv3Q+Xz5fpiCLShKgIiIiIpFlifzmRhfOJLiolefAArpxcskddQWDQEDytCjIdT0SaKBUBERGRNHDicWIfrSBSOo+adalHgvtML0Kfuxn/Bb1xeTwZTigiTZ2KgIiIyBkU37Ob6ML5RBaV4lRV4m6eT/DKMWQNGoKneX6m44mIHKEiICIicpqcmhjR5cuILJxHfON6cLvxX9CbwOCh+Hr0wuV2n3gnIiJnmYqAiIjIKYrv3JGa9GvJQpzqatytCghecz2BiwfjzsvLdDwRkc+kIiAiInISnGiU6IeLiZTOI751M3i8ZPXpR9bgofi6dtfRfxFpMFQERERETsBxHOLbthApnUfsw8U40SieNm0JXX8jWQMG4Q6FMh1RROSkqQiIiIh8imR1mOiSD4iUziexczv4/GRdNCA16VenzrhcrkxHFBE5ZSoCIiIidTiOQ7xsQ+ra/+UfQrwGT4eOhG78AlkXXYw7OzvTEUVEzggVARERESBZeZjIooVEF84jsXcPrkCAwCWDU0f/CztmOp6IyBmnIiAiIk2Wk0xSs35t6tr/VcshkcDbqQs5t95BVr/+uPxZmY4oIpI2KgIiItLkJA4eILqolMjC+ST3l+MKhggMHUlg0BC8bdtlOp6IyFmhIiAiIk2Ck0gQsx8RLZ1HbPUqcBx83XsQKr4Of+++uLy+TEcUETmrVARERKRRS+wvJ7JwPtEPFpA8dBBXTi7ZRVcSGDQET6uCTMcTEckYFQEREWl0nHic2KoVRErnUbPeAuAzvQjdcAv+Xr1xeTwZTigiknkqAiIi0mjE9+wmunA+kUWlOFWVuJvnE7xyDFmDhuBpnp/peCIi5xQVARERadCcmhjR5R8SKZ1HvGwDuN34L+hDYPBQfD164nK7Mx1RROScpCIgIiINUnzHdiIL5xFd8gFOdTXuVgUEr7mewMWDceflZTqeiMg5T0VAREQajGQkQmzZYiKl84lv3QxeL1l9LiJr0BB83c7H5XJlOqKISIOhIiAiIuc0x3GIb92cmvRr2RKcaBRPm3aErr+JrAGX4A6FMh1RRKRBUhEQEZFzUjIcJrr0AyKl80js3AE+P1kXDSAwaCjeTp119F9E5DSpCIiIyDnDcRziZRuIlM4juvxDiNfgLexI6MYvkNX/YtyB7ExHFBFpNFQEREQk45KVh4ksWkh04TwSe/fgCgQIXDKYwOCheDt0zHQ8EZFGSUVAREQywkkmqVlniSycR2zVCkgk8HbuSs7lo8nq2x+X35/piCIijVpai4Ax5n7gYeAwcLu1dlOdMT/wc2AosBe4y1q7PZ15REQk8xIHDxD9YAGRhfNJVuzHFQwRGDqSwOAheNu0y3Q8EZEmI21FwBhTADwG9AVGAS8CN9ZZ5etAjbW2rzGmO7AnXVlERCSznESC2JqPiC6cR2z1KnAcfN17ELrmevy9++Ly+jIdUUSkyUnnGYHRwGJrbdgYMxV43RjjstY6teN3AjcDWGvXpzGHiEijlkwmeeGFZ1m/fh0+n4/HHnuCwsJ/XVc/adLf+Mc//orH4+Huu+9j2LAR7Nq1iwkTniaRiAPwne88znnndT7j2RL79xFZuIDoBwtIHjqIKzeP7MuuJHDJEDytCs74+4mISP2lswi0AyyAtTZpjKkAWgDlteOFwFhjzL3AEuBBa22i7g6MMc2B5nWXTZw4sW1RUVEaY4uINCyzZ88kFosxceLvWLlyBa+88hLPPvsiAOXl+3jzzTd47bX/IRaL8fWv38cllwzmtdde5aabbmXkyCJKS+fzq1/9gmeeee6M5HHicWKrVhApnUfNeguAz/QidMMt+Hv1xuXxnJH3ERGR05Pum4XddX7OBZw6r0PALmAg8A/gc8Bfj9l+HPBk3QUTJ06kqKiI/HxNICMiArBu3UdcddXlFBTkctllQ/nP//wuBQW5ACxfvpBLLhlIhw4tAejatQvl5dt58snvk5ubi8/nIyfHT15e6Mg2pyq6cycHZs3i4Ny5JA4fxtuyJa0+/3maDx+Or2XL0/6cItK0ne6/UfJJ6SwCO4DBAMaYXCAfqKgzvhMotdY6xpj3gO7H2cdPgdfrLnjggQcGAn+pqKgiHk+mI7eISIOyb18FiYSHvXsP1y5xsXNnBV6vl5079+HxZB0Z83j8bNu2h3btunDgQIQtW9bwzDMTmDDh+Trb159TEyO6/EMipfOIl20Atxv/BX0IDR6Kr0dPcLs5kAROYd+SHvoyJQ3VqfwbdTq8XnejP/CcziIwDXjaGBMEioAS4FZjTHtr7UukzgLcZIx5BbgM+NWxO7DWHgAOHLO4MI2ZRUQanFAoRDgcPvLacRy8Xu9xx8LhMLm5qS+CS5Ys4oUXnuWJJ54+6fsD4ju2EVk4n+iSD3Cqq3G3KiB4zecIDByEOzfv9D+UiIikXdqKgLV2nzHmGaCU2seHknpqUOfaVcYD/03q6UEzrLVT0pVFRKQx69OnH3PnzuaKK65i5coVdO36rxOsvXpdyK9//Uui0Sg1NTVs3lxGly7dWLJkET/72fO88MLLtG1bv9VzdroAACAASURBVEd2JiMRYssWp47+b90CXi9ZfS4ia/BQfF2743K50vURRUQkDVyO45x4rXPLcGC2Lg0SEUn5+KlBGzasx3EcHn/8SebPn0NhYUeGDx/FpEl/Y9Kkv5FMJrnrri9TVHQFd9/9RWpqYrRokbp2/7zzOvGd73zvE/t2HIf41s1ESucR/XAxxGJ42rQjMHgoWRdfgjvYuE+bN0YFBbm89P7qTMcQOSmPjOyVyUuDRgBzzuqbnyUqAiIi8gnJcJjokg+IlM4jsWsH+PxkXTSAwOCheM/rrKP/DZiKgDREKgLpke6nBomISAPhOA7xsg2po//LP4R4Dd7CjoRu/AJZ/S/GHcjOdEQRETmDVARERJq4ZOVhIotKiS6cT2LvHlyBAIFLLiUweAjeDh1PvAMREWmQVARERJogJ5mkZp0lsnAesVUrIJHA27krOZePJqtvf1x+f6YjiohImqkIiIg0IYmDB4guXEDkg/kkK/bjCoYIDBtJYNBQvG3aZjqeiIicRSoCIiKNnOM41KxeRfWCudSsWQWOg697D0LXXI+/d19cXl+mI4qISAaoCIiINGKxtWsIl0wivm0r7rw8si+7isAll+JpVZDpaCIikmEqAiIijVDN1s2Ep0yiZv1a3M3zybn1DrIGXILL48l0NBEROUeoCIiINCLxPbsJT32L2PIPcYVyCF1/E4Ehw3T5j4iIfIKKgIhII5A4UEF4egnRRaW4fD6CVxUTGHk57kAg09FEROQcpSIgItKAJauqqH5vOtVzZ4EDgaEjCV4xGndObqajiYjIOU5FQESkAXJiUapnz6R65js40ShZAy4hOPoaPC1aZjqaiIg0ECoCIiINiBOPE1k4j/D0t3EqD+O/oA/B4mvxtm2f6WgiItLAqAiIiDQATjJJdNkSwm//k+T+fXi7dCN09/34OnfNdDQREWmgVARERM5hjuNQYz+iaspkEju342nXgbz7HsRnLsDlcmU6noiINGAqAiIi56iaTWVUlUwivnE97hatyLn9brL6DcDldmc6moiINAIqAiIi55j4rp2E355MbNUKXDm5hG64hcCgobi8+idbRETOHP1fRUTkHJGo2E946j+JLvkAV1YWwTHXkj2iCJc/K9PRRESkEVIREBHJsGTlYcLvTiMybw64IHvk5WRfdhXuUCjT0UREpBFTERARyZBkJELk/Xepfv9dnFiMrEsuJXhVMZ7m+ZmOJiIiJ8kYcz/wMHAYuN1au6nOWEvgDaAd8Ia1dnzt8nuAJ4BJ1tpHapddDfw3sKN280ette+kI7OKgIjIWebEa4jMn0t4xlScqkr8fS4iOGYs3tZtMx1NREROgTGmAHgM6AuMAl4EbqyzyhPA34FXgbnGmEnW2uXA+8D/AM3qrNsM+KW19gfpzq1HT4iInCVOMklkUSkVPxlP1aT/h7dde5o99C3y7rpPJUBEpGEbDSy21oaBqcAwY0zdZzyPBd611iaBN2tfY63dCJQds69mwIH0R9YZARGRtHMch9hHKwmXTCaxeyfewo7k3PxFfOcbzQUgInKOKykpaTtu3LjOxyw+YK2t+2W9HWABrLVJY0wF0AIorx1vDWyo/Xk7MOwz3rIZ8AVjzH3Ah8DXrbWVp/cpjk9FQEQkjWo2rqdqyiTim8twtyog98578ffpp7kAREQaiOeee+4vx1n8A+CpY5bV/Yc9F3COGXd9xlhdvwfeIlUYXgfGAePrl/bkqAiIiKRBfMc2qkomU7PmI9x5zci5+TayBl6Ky+PJdDQRETkJjz766C3jxo1bdMziYy/d2QEMBjDG5AL5QEWd8d1Ad2AVYPjXjcCfYK3dC+yt3dcfgJtOJ/9nUREQETmDEuX7UnMBfLgYVyBA8JrPkT1sJC6/P9PRRETkFBQXF+8qLi7edILVpgFPG2OCQBFQAtxqjGlvrX2J1BH+y4wxq0ndTHzvp+3IGHMH8CdSZxiuAY4tIWeMioCIyBmQPHSI8Iy3iSyYCx4P2ZddSfaoK3EHg5mOJiIiaWat3WeMeQYopfbxoaSeGtS5dpXxpB4f+iDwR2vtCgBjzFJS9xJkG2OKSJ1VyAXmkLqvYBbwy/pkMMY0P+a+hRNyOc5nXaJ0ThoOzK6oqCIeT2Y6i4g0ccnqaqpnzaD6/fcgEScwaCjZV47B06zZiTcWyYCCglxeen91pmOInJRHRvZi797DZ/U9vV43+fkhgBGkvpifk4wxBvgbqZuMBwHvADdYa9ecaFudERAROQVOTYzqubOpfm8aTjiM/6IBhEaPxVPQOtPRRESkaXmZ1ERmP7HWbjfGvAz8Ghh5og1VBEREToKTSBBdvJDwtCkkDx7A16MXoeLr8BZ2zHQ0ERFpmlpaa6enTgyAtfaXxpiv1mdDFQERkXpwHIfYimWE355MYu8evOd1Jue2L+Hv3iPT0UREpGlzjDEBah9JaoxpC9TrEXUqAiIiJxBbbwlPmUR86xY8rduSe/f9+C/sq8nARETkXPAqqdmMWxtjJgBfBH5cnw1VBEREPkV82xaqpkymZt0a3M3zybn1DrIuHqTJwERE5Jxhrf2NMWYdMBbwAV+x1k6vz7YqAiIix0js3UPV1LeILVuKKxgidN0NBIaMwOXzZTqaiIjIUYwxP7TWPgG8X2fZz6y1D59o23oXAWNMS1J3HyeAWdbag6cSVkTkXJU4eIDq6W8T+WA+eL1kXzmG7FGX4w5kZzqaiIjIUYwxPyA1g/EXjDF1n1ntA64m9SShz1SvImCMuQH4LbCC1CxnvzHG3Gqtfe+kU4uInGOS4TDVM6dTPXsWOEkCQ0YQvGI07ty8TEcTERH5NKXAJUASKK+zPA7cUZ8d1PeMwI+AkXVmQRsAvAYMqHdUEZFzjBOLUT1nJtUz38GJRMjqP5Dg1dfgadEq09FEREQ+k7V2CjDFGFNirV14KvuobxEIf1wCat94iTGmwU1JLCICqbkAIgvnU/1OCclDh/D16k1ozLV423fIdDQREZGTVWGM+RmQA7hIPTq0u7V22Ik2rG8RKDHGfBd4hdQ9AncBK40x+YDLWrv/1HKLiJw9TjJJbPlSqqb+k+S+vXg7dyX3znvxdemW6WgiIiKn6v+ARcBQ4I/AdcDi+mxY3yLwGKl2MeGY5V8iNXlBvSYtEBHJBMdxqFm7hqqSSSS2b8PTtj159z6Ar+eFmgtAREQaulxr7deMMT8FSoCfA7Pqs2G9ioC1Vs/ME5EGqWbLJsJTJlGzYR3u/Bbk3HYXWf0v1lwAIiLSWHx8o/B6oLe19oP6XsJf36cGuYFvA8WkHkk0DXjGWhs/hbAiImkX372L8NuTia1cjisnl9DnbyYweBgur6ZPERGRRmV97dmA35N6smcOqe/rJ1Tf/yNOAPoBPyP1+NCvAs8D404+q4hI+iQq9hOeXkJ0USkufxbB0WPJHnkZrqysTEcTERFJh68BxdbapcaY/wJGk/qufkL1LQJjgIHW2hoAY8w/gWWnklREJB2SVZWE351GZN5scCAwoojg5aNxh3IyHU1ERCSdJltrrwCw1r4KvFrfDetbBNwfl4DaN4kaY2o+awMRkbPBiUapfv89qmfNwIlFyRo4mOBVxXjyW2Q6moiIyNnQ3BgTstZWneyG9S0CHxpjXiL1+FAH+Aaw/GTfTETkTHHicSIL5hKeMRWn8jD+3n0JjrkWb5t2mY4mIiJyNlUBm40xy4HKjxdaa68/0Yb1LQL/RupRRPNITVQwFXjo5HOKiJweJ5kkunQx4alvkazYj6/b+QTv+Qq+Tl0yHU1ERCQTfnOqG9a3CPyHtfaeU30TEZHT5TgONatXUVUymcSuHXg6FJJ30234evTUXAAiItJkWWt/f6rb1rcIXAv8x6m+iYjI6agp20BVySTiZRtxtyog94578Pftr7kARESkyTLGJEldsn88jrX2hN/z61sENhpjpgFzOPraoxfrub2IyEmL79xBVclkalavxJ2XR+jGLxAYNASXR5OZi4hIk1dA6pL9HwKbgYlAArgH6FSfHdS3COyv/f3i2jc4cDIpRURORmL/PsJTpxBdughXVoBg8XVkDy/C5fdnOpqIiMg5wVpbDmCMGWit/VqdoZ8bYxbVZx/1LQI/Bv4H6F/7ei7wpfoGFRGpj+ThQ4RnTCOyYA643GQXXUF20ZW4g6FMRxMRETlXhYwxxlprAYwxfYB6zaJZ3yLwO+C/an93AQ+QukP5qpPPKiJytGSkmupZ71L9/rsQjxO4ZAjZV43B06x5pqOJiIic674PLKh9fKgbuAC4vT4b1rcIBK21v67z+mVjzFdOLqOIyNGcmhoi82cTnjENJ1yFv19/Qldfi6egdaajiYiINAjW2r8aY+YAw2sXvW+t3VefbetbBNYYY4Zaa+cBGGN6A2UnH1VEBJxEguiSDwhPm0LyQAW+83sSLL4OX8fzMh1NRESkQTHG+IFhQIjUlTvXGWO6W2u/d6Jt61sEOgGzjDHLgDipewV21Z6CwFrb95SSi0iT4jgOsVXLCZe8RWLPLrwdzyPn1jvwn28yHU1ERKSh+hPQFWgHLAUGAzPrs2F9i8B3TymWiEit2IZ1hKdMIr5lE56C1uTedR/+3v00GZiIiMjpuQg4H3gVeJHUfQKv1mfDehUBa+2sU44mIk1afPtWqqZMpmbtatzNmpNzy+1kXTxIcwGIiIicGTuttXFjzFqgt7X2L8aYZvXZsL5nBERETkpi316qpr5F7MMluIJBgtd+nuyhI3D5NBeAiIjIGVRpjLkdWAZ8xRizBsipz4YqAiJyRiUPHSQ8/W0iC+eBx0v2FVeTPeoK3NnZmY4mIiLSGP0bcD8wvvb3WcDj9dlQRUBEzohkdZjqme9QPXsmJBIELh1G8IoxuPPyMh1NRESksRsFfAtwgNnAP+uzkYqAiJwWpyZG9Zz3qX5vOk51mKz+AwmOvgZPq4JMRxMREWkKJpKa6HdE7esHgdeAq0+0YVqLgDHmfuBh4DBwu7V203HWeRHob629LJ1ZROTMchIJoosWEJ5WQvLQQXw9LyA05jq8HQozHU1ERKQpybfW/led1y8bY+6rz4ZpKwLGmALgMaAvqdMVLwI3HrNOT1KzoFWlK4eInFlOMklsxTLCU98isXcP3k5dyL3jHnxdu2c6moiISFO03hgz2FpbCmCM6QtsqM+G6TwjMBpYbK0NG2OmAq8bY1zWWqfOOi8AzwIPpTGHiJwhsbVrCJdMIr5tK5427ci956v4L+ituQBERETOMmPMClL3BOQCc2on+k2Qmlfgo/rsI51FoB1gAay1SWNMBdACKAcwxlwLbAUWf9oOjDHNgeZ1l02cOLFtUVFRmiKLyPHUbN1MeMokatavxZ3fgpwv3EnWgEtwud2ZjiYiItJUfeN0d5Dum4XrfkvIJdVaMMb4ge8B1/LZzzkdBzxZd8HEiRMpKioiPz90hqOKyLGiO3aw969/5fCiRXhyc2lzxx00LyrC7fNlOpqIiDQxBQW5mY5wTjkTE/6mswjsAAYDGGNygXygonZsONASeAvIAroZY16y1j5yzD5+Crxed8EDDzwwEPhLRUUV8XgyfelFmrDEgQrC00uIfrAAl99P8KpiAiMvJxEIUH4gAkQyHVFETpG+TElDtXfv4bP6fl6vu9EfeE5nEZgGPG2MCQJFQAlwqzGmvbX2JaAHgDGmE/D6cUoA1toDwIFjFuuRJCJpkqyqovq96VTPnQUOBIaPInj5aNw5+uIgIiLS2KStCFhr9xljngFKqX18KKmnBnVO13uKyKlxYlGqZ8+keuY7ONEoWQMuSc0F0KJlpqOJiIhImqT1HgFr7W+B39ZZ9OJx1tkMaA4BkQxw4nEiC+cRnv42TuVh/Bf2ITjmWrxt22c6moiIiKSZZhYWaYKcZJLosiWE3/4nyf378HbpRuju+/F17prpaCIiInKWqAiINCGO41Cz5iOqSiaT2LkdT7sO5N33ID5zgeYCEBERaWJUBESaiJpNG6kqmUx843rcLVqRe/vd+PsN0FwAIiIiTZSKgEgjF9+1g3DJW8Q+WoErJ5fQDbcQGDQUl1d//UVERJoyfRMQaaQSFfsJT/0n0SUf4MrKIjjmWrJHFOHyZ2U6moiIiJwDVAREGplk5WHCM6YRmT8HXJA98nKyL7sKd6hxT4oiIiIiJ0dFQKSRSEYiRN5/l+r338WJxci65FKCVxXjaZ6f6WgiIiJyDlIREGngnHgNkflzCc+YilNVib/PRQTHjMXbum2mo4mIiMg5TEVApIFykkmiSz4gPG0KyYr9+Lr3IHjN9fg6dsp0NBEREWkAVAREGhjHcYh9tJJwyWQSu3fiLexIzs1fxN+jZ6ajiYiINFnGmPuBh4HDwO3W2k11xloCbwDtgDesteNrl98DPAFMstY+UrssAPwP0AuYCXzTWptMR2Y9QFykAanZuJ6Dv3iJw6//GicRJ/fOe2n20LdVAkRERDLIGFMAPAYMBn4IvHjMKk8Afwf6AmONMX1rl79P6kt/XQ8Cm6y1vYEC4Np05VYREGkA4ju2cfA3r3Lw1Z+RrNhPzs23kf/t75HVr78mBBMREcm80cBia20YmAoMM8a46oyPBd6tPbL/Zu1rrLUbgbJj9jUWeLf25z9/vG466NIgkXNYYt9ewtOmEF26CFd2kODYz5E9bCQunz/T0URERJqEkpKStuPGjet8zOID1toDdV63AyyAtTZpjKkAWgDlteOtgQ21P28Hhn3GWx7ZV+267U89/WdTERA5ByUPHSL8zttESueCx0P25VeRXXQl7uxgpqOJiIg0Kc8999xfjrP4B8BTxyyre4o+F3COGXd9xtixPt5XfdY9ZSoCIueQZHU11bNmUP3+e5CIExg8lOCVY3DnNct0NBERkSbp0UcfvWXcuHGLjll84JjXO0jdH4AxJhfIByrqjO8GugOrAFO7/qfZUbvO+nqse1pUBETOAU5NjOq5s6l+bxpOOIz/ogGErr4WT6uCTEcTERFp0oqLi3cVFxdvOsFq04CnjTFBoAgoAW41xrS31r4EvAVcZoxZDYwC7v2Mfb0FXAb8s/b310/rA3wGFQGRDHISCaKLF6bmAjh4AJ/pRaj4OrwdOmY6moiIiNSTtXafMeYZoJTax4cCNwKda1cZT+rxoQ8Cf7TWrgAwxiwldS9BtjGmiNRZhYnAfxtjVpJ6fOhb6crtcpy0XXaULsOB2RUVVcTjaXmkqkjaOY5DbMUywm9PJrF3D97zOhO85nr83c7PdDQRaeQKCnJ56f3VmY4hclIeGdmLvXsPn9X39Hrd5OeHAEYAc87qm58lOiMgcpbF1lvCUyYR37oFT+u25N59P/4L++JyuU68sYiIiMgZoiIgcpbEt22haspkatatwd08n5xb7yDr4kGaB0BEREQyQkVAJM0Se/dQ9fZbxJYvxRUMEbr+RgKXDsfl82U6moiIiDRhKgIiaZI4eIDq6W8T+WA+eL1kXzmG7FGX4w5kZzqaiIiIiIqAyJmWDFdR/d47VM+ZBU6SwNARBK+4GndObqajiYiIiByhIiByhjixGNVzZlI98x2cSISs/gMJXn0NnhatMh1NRERE5BNUBEROk5NIEFk4n+p3SkgeOoT/gt4Ex1yHt137TEcTERER+VQqAiKnyEkmiS1fStXUf5Lctxdv567k3nkvvi7dMh1NRERE5IRUBEROkuM41KxdQ1XJJBLbt+Fp2568ex/A1/NCzQUgIiIiDYaKgMhJqNlcRrhkMjUb1uHOb0HObXeR1f9izQUgIiIiDY6KgEg9xHfvJFzyFrFVy3Hl5BL6/M0EBg/D5dVfIREREWmY9C1G5DMkKvYTnl5CdFEpLn8WwavHkj3iMlxZWZmOJiIiInJaVAREjiNZVUl4xjQi82aDCwIjighePhp3KCfT0URERETOCBUBkTqcaJTq99+jetYMnFiUrIGDCV5VjCe/RaajiYiIiJxRKgIigBOPE1kwl/CMqTiVh/H37puaC6BN20xHExEREUkLFQFp0pxkkujSxYSnvkWyYj++bucT/PJX8Z3XOdPRRERERNJKRUCaJMdxqFm9iqqSySR27cDToZC8m27D16On5gIQERGRJkFFQJqcmrINVJVMIl62EXerAnLvuAd/3/6aC0BERESaFBUBaTLiO7ZT9fZb1KxeiTsvj9CNXyAwaAgujyfT0URERETOOhUBSbtkMskLLzzL+vXr8Pl8PPbYExQWdjwyPmnS3/jHP/6Kx+Ph7rvvY9iwEUfG/vzn/6O8vJyvfe2hU37/xP59hKdOIbp0Ea5AgGDxdWQPL8Ll95/W5xIRERFpyFQEJO1mz55JLBZj4sTfsXLlCl555SWeffZFAMrL9/Hmm2/w2mv/QywW4+tfv49LLhmM4yT58Y9/xEcfrWTUqMtP6X2Thw+l5gJYMAdcbrKLriC76CrcweCZ/HgiIiIiDZKKgKTd8uUfMnjwEAB69+7DmjWrj4ytXr2KPn364ff78fv9dOjQkQ0b1tGhQ0fGjBnLwIGD2Lx500m9XzJSTfWsd6l+/12IxwkMGkL2lWPwNGt+Jj+WiIiISIOmIiBpV1VVRajOjLxut5t4PI7X6/3EWDAYpLKykry8PAYNupQpUybX+32cmhoi82cTnjENJ1yFv19/Qldfi6eg9Rn9PCIiIiKNgYqApF0oFCIcDh957TgOXq/3uGPhcJjc3NyT2r+TSBBd8gHhaVNI/v/27j/a6rrO9/jzHA5HBQ6IhKVhCTq+JcEf14ycg4hpes1iZdfSa3f8lSKjzi3scnNc47JMyckC58ZqwhykxhrmjlNa3kisySVakqkFGL1TJ+wHQyIeFTjI4XD2/WNvzmxOKL/OPr++z8dae639/Xw+3+9+f9c6+5zv63y+P15uYfBRRzP07A/QMOZt3bMDkiRJA5BBQDU3ceJxPProUk4//b2sXLmCceOO7OwbP/4Y7rjjy2zZsoWtW7fy/PO/YezYI3Zru6VSibanl9O6+H62vbCWhsPexrDzP0rjkVGrXZEkSRowDAKquSlTTuPxx5cxY8ZllEolrr/+RhYtupsxYw5j8uRTOe+8C7j66ivo6Ohg+vSr2G+//Xa5zbbnnqH1e9+h/berGTT6YJou+hiNE47zYWCSJEm7qa5UKvV2DXtqMrC0pWUT7e0dvV2Lelj773/HpsXfZeuvV1E/4kCGnPk+9jvxXT4LQJJ20+jRTcx9eNWuB0p9yMwp41m3bkOPfmZDQz0jRw4FOAV4pEc/vIc4I6B+YduL69j0/ftp+8WT1A0ZwpD3f5AD/vwU6gb7LABJkqS9YRBQn7btlVfY/IPv89pPfwyDGjjg9LM44NTTqT/ggN4uTZIkqV8zCKhP6tjcyuYf/YDNjzwE27ax/7ubGXL6f6V++PDeLk2SJGlAMAioTym1tbH50YfZ/KMHKb22mf2OP5EhZ53DoFFv6u3SJEmSBhSDgPqE0rZtbHn8MVofXEzHq68w+Oh3lJ8FcOiY3i5NkiRpQDIIqNe1/3EtG772Vbate4GGt4+l6aOXMLjqWQOSJEnqfgYB9bqOl9ZTP3wEQ97/QRrHT/BZAJIkST3AIKBe1zj+GBrHH9PbZUiSJBVKfW8XIEmSJKnnGQQkSZKkAjIISJIkSQVkEJAkSZIKyCAgSZIkFZBBQJIkSSogg4AkSZJUQAYBSZIkqYBq+kCxiLgc+DiwAbgwM1dX9U0DPgWMAv4xM2+pZS2SJEmS/lPNZgQiYjRwHTAJ+Cwwp8uQo4EzgOOB6RFxVK1qkSRJkrSjWp4adCbwRGa2Ag8AzRFRt70zMz+fmZsz8zXgSeCwGtYiSZIkqUotTw06BEiAzOyIiBbgIGB99aCIaACOBVZ03UBEHAgcWN02f/78t0ydOrVGJUuSJEnFUNNrBNhxxqEJKO1kzAzg3zLzhZ30fQK4sbph/vz5TJ06lZEjh3ZflZIkSerTRo9u6u0SBpxaBoE1lK8PICKagJFAS/WAiDgTuBg47XW2cTuwsLrhyiuvfCfwLy0tm2hv7+jmkiVJGtg8mFJ/tW7dhh79vIaG+gH/j+daBoElwE0RMQSYCiwGPhIRh2bm3Ih4J/Bl4D2ZuXFnG8jMl4GXuzSPqWHNkiRJUiHU7GLhzHwRmA0sA/4a+CTwVmBsZcj3KAeRb0XEUxFxW61qkSRJkrSjml4jkJkLgAVVTXOq+g6u5WdLkiRJen0+WViSJEkqoFrfNUiSJEka8CLicuDjwAbgwsxcXdU3ClhE+fb6izLz5kr7OcDngHbgisx8IiICeAzYvv7czPx6LWp2RkCS+rmOjg5uu202V155KddcM53f//53fzKmpaWFCy44ly1btuzQ/vzzqznrrFP/pF2StPsiYjRwHeU7Zn6WqtPhK24A7qX87KxzIuLYiBgMzAPOAP4CuKMydgRwb2aeUHnVJASAQUCS+r2lSx+ira2N+fPvYsaMv2LevLk79C9b9hOuvfZqXnrppR3aN23ayLx5cxk8uLEny5WkgehM4InMbAUeAJojoq6q/xzKz83qAO6pLL8LeCEzX8jMp4HGiDiEchDoetfMmjAISFI/t3z5z5k06WQAJkyYyK9+tWqH/vr6Om6//csMHz68s61UKvH5z9/C9OlXs//++/dovZLUnyxevPgtEXF4l9eBXYYdAiRA5WC/BTioqv9g4LnK+z8Ah1av06V9BHBG5a6a90bEW7p/r8oMApLUz23atImhQ4d1LtfX19Pe3t65fNJJ72bEiB3/Zi1YcAcnnzyZP/uzo3qsTknqj2677bZ/AX7T5fWJnQytPq5uAkpd+ut20rezdb4PXAScDPwOuHkfyn9DBgFJ6ueGDh1Ka2tr53KpVKKh4Y3vBbFkyWLuv/8+rrlmOi+9tJ5rr72m1mVKUr80a9asD1N+Dlb16/Yuw9YAARARTcBIyrMC2/0ROLLyPirjO9epY5ksAQAADJJJREFUbs/MjZn5VGa+Rvk2/Ed36w5V8a5BktTPTZx4HI8+upTTT38vK1euYNy4I3e5zj//872d78877wPMmTOvliVKUr919tlnrz377LNX72LYEuCmiBgCTAUWAx+JiEMzcy5wP3BaRKwCTgUuA1YBoyLizZRPHXo+M9dGxEcq418DpgE/q8FuAQYBSer3pkw5jccfX8aMGZdRKpW4/vobWbTobsaMOYzJk0/t7fIkacDLzBcjYjawjMrtQ4EPAYdXhtxM+fahM4B/yswVABFxNfAg5duHXl4Zu7XS9mZgJXBJrequK5W6nr7U500Glra0bKK9vaO3a5EkqV8ZPbqJuQ+v2vVAqQ+ZOWU869Zt6NHPbGioZ+TIoQCnAI/06If3EK8RkCRJkgrIICBJkiQVkEFAkiRJKiCDgCRJklRABgFJkiSpgLx9qKQ+ZcTIITQ2DOrtMqQ90ta+jVdaWnc9UJL6EIOApD6lsWGQtzZUvzNzyvjeLkGS9pinBkmSJEkFZBCQJEmSCsggIEmSJBWQQUCSJEkqIIOAJEmSVEAGAUmSJKmADAKSJElSARkEJEmSpAIyCEiSJEkFZBCQJEmSCsggIEmSJBWQQUCSJEkqIIOAJEmSVEAGAUmSJKmAGnq7AA18HR0dfPGLt/Lss88wePBgrrvuBsaMOayz/zvf+Tb33fctBg0axMUXf4zm5lPYvHkzX/jC5/iP/1jD1q1bmTlzFu94x4Re3AtJkqSBxSCgmlu69CHa2tqYP/8uVq5cwbx5c7n11jkArF//Ivfcs4g77/xH2trauOqqj3HSSZP45je/zrhxR3DDDTfx7LPP8OyzvzYISJIkdSNPDVLNLV/+cyZNOhmACRMm8qtfrersW7XqaSZOPI7GxkaGDRvGW996GM899ww//eljDB48mGuvvYaFC+/sXF+SJEndwyCgmtu0aRNDhw7rXK6vr6e9vX2nfUOGDGHjxo288srLbNiwgTlz5tHcfArz5t3e43VLkiQNZAYB1dzQoUNpbW3tXC6VSjQ0NOy0r7W1laamJoYPH0Fz8xQAmpunkLkKSZIkdR+DgGpu4sTjeOyxRwFYuXIF48Yd2dk3fvwxLF/+FFu2bGHjxo08//xvGDv2CI499vjOdX7xiyc5/PBxvVK7JEnSQOXFwqq5KVNO4/HHlzFjxmWUSiWuv/5GFi26mzFjDmPy5FM577wLuPrqK+jo6GD69KvYb7/9uOiiS7n11pu58spLaWho4G/+5jO9vRuSJEkDikFANVdfX8+sWdfv0Pb2tx/e+X7atHOZNu3cHfqHDx/B7Nm39UR5kiRJheSpQZIkSVIBGQQkSZKkAjIISJIkSQVkEJAkSZIKyCAgSZIkFZBBQJIkSSogbx+6B0aMHEJjw6DeLkPaI23t23ilpXXXAyVJUqEYBPZAY8Mg5j68qrfLkPbIzCnje7sESZLUB3lqkCRJklRABgFJkiSpgAwCkiRJUgEZBCRJkqQCMghIkiRJBWQQkCRJkgrIICBJkiQVkEFAkiRJKiCDgCRJklRABgFJkiSpgAwCkiRJUgEZBCRJkqQCMghIkiRJBWQQkCRJkgrIICBJkiQVUEMtNx4RlwMfBzYAF2bm6qq+UcAi4BBgUWbeXMtaJEmSpFrZm+PeiDgH+BzQDlyRmU9ERD0wD5gCPA1cnJmv1aLmms0IRMRo4DpgEvBZYE6XITcA9wLHAudExLG1qkWSJEmqlb057o2IwZQP+M8A/gK4ozJ2GjA6MycAq4Hptaq7lqcGnQk8kZmtwANAc0TUVfWfA/xbZnYA91SWJUmSpP5mb4573wW8kJkvZObTQGNEHLJ9bGW9/0sNj5FreWrQIUACZGZHRLQABwHrK/0HA89V3v8BaO66gYg4EDiwum3BggWHNTc3M2hQ71zecGjTAb3yudK+aGjoX5cD+T1Tf9Sfvmd+x9Qf9fR3bPux5g9/+MMxV1111eFdul/OzJerlvfmuLdznar2Q7u0b2+riZpeI8COMw5NQKlLf90b9AF8ArixumHJkiU0NzczfHjv/BI7/4TDe+VzpX0xcuTQ3i5hj/g9U3/Un75nfsfUH/XWd+zOO+/8p500fwb4dJe2vTnufb116nfS1u1qGQTWUD5PiohoAkYCLVX9fwSOpHwRRFTGd3U7sLC64dVXXx22fv36s0aNGvUksLX7y5YkSZIYvHbt2v8yYsSIB4CNXfpe7rK8N8e9ayrvt+va/gNe/xi5W9SVSrUJGRHxJuAxyhdFnA5cQvk8p0Mzc25EzAH+HfgysAy4LDNX1KQYSZIkqUb25rgXWAX8GjiZ8qlDCzPzxIiYBlyUmedFxBeB1Zn5pVrUXbOTrTLzRWA25Z39a+CTwFuBsZUhN1O+Kno5cK8hQJIkSf3R3hz3ZmY7cDXwIPA14IrK2O8CayNiJTCG/7ybULer2YyAJEmSpL6r/9ziQJIkSVK3MQhIkiRJBWQQkCRJkgrIICBJkiQVkEFAkiRJKqBaP1lYBRARlwMfBzYAF2bm6i795wP/GxhM+UEaV2VmS9ftSOo+EfEpyk9nvzUz/65L313AqcArlaZvZ+ZNPVyi1O9ExDDK94GfCGwG/kdm/ntV/43AuZl5fFXbA8CazLy0p+uVdsUZAe2TiBgNXEf5aXqfBeZ06f9zyiHgjMw8FlgC7OxR3ZK613cqr9czMzNPqLwMAdLumQB8IzNPAL5B+e9eV6Mi4giAiBgBHNGD9Ul7xBkB7aszgScys7XyX4+FEVGXmdsfUPFXwKe3zwBk5l0R8T8j4qjM/PX2jUTExcCJwGHAScDfZuaXKr9E/w44BmgE/ntm/rLyH81fAu8DjgI+nJk/7pldlvq+zFwVETV7LL1URJn5WNXiI8AFOxn2IHAu8AXg/cDSHihN2ivOCGhfHQIkQGZ2AC3AQVX9RwM/77LOzyvtXU0CLgbeQ/mpfAAbgdsz8yRgLvC/qsaPrYz9DHDNPu2FJEl7ZhLw5E7afwKcUXn/fuChnipI2lMGAXWH6p+jJqD6cdUloK7L+LouY7b7cWa+WpkpGAaQmduA1oi4CTgfeHvV+AcqMw9PAm/Zt12QCmduRDxVeR3c28VI/UlENAHXUp6x7qoNWBcR4yjPZL/ck7VJe8JTg7Sv1lD+r8j2X4wjKc8KbLcKOAH4bVXbCcAtu9jutso2TwJuB2YB91Geau1qK38aNiS9sZmZeV9vFyH1NxHRCPwrMLv6QuEuvkX5mrn7e6wwaS84I6B9tQQ4ISKGAFOBxcBHImJmpf9LwI0RMRI67zD0h8x8Zje3PwX4SeX8/xO6tXKpQCLi2sodvCTtpYioAxYCP8vMr1fazq/6m7fd9yn/Tby3RwuU9pAzAtonmfliRMwGllG5fSjwIeDwSv9jEfE54IcR0UD5At+PQufdFO6mfF3A6/k2cHdE/Bh/oUq7JSIOAb5H+ZS5bRHxAcrfPUn75i8pXyC8LCKeqrTdzY6nrZKZmyPi+MrfyJ6uUdptdaXSzk7VlnpGRHwFuCUzf9fbtUiSJBWJpwap10TEFOC3hgBJkqSe54yAJEmSVEDOCEiSJEkFZBCQJEmSCsggIEmSJBWQQUCSJEkqIJ8jIEkiIt4ErMvMusryvwLHARsrQ36UmV0fmiRJ6scMApKknTkZeGdmruntQiRJtWEQkKQ+LCK+CTyRmV+sLP8l8B5gDfBuoAmoAy7PzEcjYiFwEHAEcH9mfuoNtv0h4BagFXi8qn1sZbtfjYi3AT8DPpmZL3X/HkqSeovXCEhS3/ZV4JKq5UuA5cChwMmZ+Q7ga8B1VWOGZOYxuwgBbwYWAP8tM08Enq/qPhj4ATADOJ7y6UEL9nlPJEl9ijMCktS3PQTsHxHvpPyf+9HAzcBRwJURcQQwFdhQtc4ju7HdycCKzPxlZXk+MBsgM5cB524fGBGfBtZGRGNmtu3LzkiS+g5nBCSpD8vMEvAPwEXApZX37wP+X2XIfcBXKJ8etN1Gdk/1Ou3b30TEKRExrcu4DmDbHhUvSerTDAKS1PctBKYBHwbuAt4LfDcz/57y+fsfBAbt4TYfBo6JiOMqy5dU9Q0DvhQRB1WWZwH3ZKZBQJIGEIOAJPVxmbkWeBJYXrmLz1eAqRGxotL+HDA2Inb7d3pmrgMuBL4REU8CY6v6FgP/B3g0IpLyhcfXdNf+SJL6hrpSqdTbNUiSJEnqYV4sLEkDVETMAj76Ot23ZeY3erIeSVLf4oyAJEmSVEBeIyBJkiQVkEFAkiRJKiCDgCRJklRABgFJkiSpgAwCkiRJUgH9fxNcOO9eosjQAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 864x432 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# iv值较低，假设我们要 'F' 淡出分出一组来提高iv\n",
    "\n",
    "#设置分组\n",
    "rule = {'var_d5':[['O', 'nan'],['F'], ['M']]}\n",
    "\n",
    "#调整分箱\n",
    "c.update(rule)\n",
    "\n",
    "#查看手动分箱稳定性\n",
    "bin_plot(c.transform(train_selected[['var_d5','target']], labels=True), x='var_d5', target='target')\n",
    "badrate_plot(c.transform(OOT[['var_d5','target','month']], labels=True), target='target', x='month', by='var_d5')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### <font color='blue'>###  III. WOE转化</font>\n",
    "\n",
    "WOE转化在分箱调整好之后进行，步骤如下：\n",
    "\n",
    "(1) ***用调整好的Combiner转化数据:*** c.transform(dataframe, labels=False)\n",
    "\n",
    "    只会转化被分箱的变量\n",
    "\n",
    "(2) ***初始化woe transer:*** transer =  toad.transform.WOETransformer()\n",
    "\n",
    "(3) ***fit_transform:*** transer.fit_transform(dataframe, target, exclude = None)\n",
    "\n",
    "\n",
    "    训练并输出woe转化的数据，用于转化train/时间内数据\n",
    "    \n",
    "    - target：目标列数据（非列名）\n",
    "    \n",
    "    - exclude: 不需要被WOE转化的列\n",
    "<font color='red'> 注意：会转化所有列，包括未被分箱transform的列，通过 'exclude' 删去不要WOE转化的列，特别是target列</font>\n",
    "    \n",
    "(4)  ***根据训练好的transer，转化test/OOT数据：***transer.transform(dataframe)\n",
    "\n",
    "根据训练好的transer输出woe转化的数据，用于转化test/OOT数据。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  APP_ID_C  target    var_d2    var_d3    var_d5    var_d6    var_d7  \\\n",
      "0    app_1       0 -0.178286  0.046126  0.090613  0.047145  0.365305   \n",
      "1    app_2       0 -1.410248  0.046126 -0.271655  0.047145 -0.734699   \n",
      "2    app_3       0 -0.178286  0.046126  0.090613  0.047145  0.365305   \n",
      "\n",
      "    var_d11    var_b3    var_b9  ...  var_l_60  var_l_64  var_l_68  var_l_71  \\\n",
      "0 -0.152228 -0.141182 -0.237656  ...  0.132170  0.080656  0.091919  0.150975   \n",
      "1 -0.152228  0.199186  0.199186  ...  0.132170  0.080656  0.091919  0.150975   \n",
      "2 -0.152228 -0.141182  0.388957  ... -0.926987 -0.235316 -0.883896 -0.385976   \n",
      "\n",
      "   var_l_89  var_l_91  var_l_107  var_l_119  var_l_123    month  \n",
      "0  0.091901  0.086402  -0.034434   0.027322   0.087378  2019-03  \n",
      "1  0.091901  0.086402  -0.034434   0.027322   0.087378  2019-03  \n",
      "2  0.091901 -0.620829  -0.034434  -0.806599  -0.731941  2019-03  \n",
      "\n",
      "[3 rows x 34 columns]\n"
     ]
    }
   ],
   "source": [
    "# 初始化\n",
    "transer = toad.transform.WOETransformer()\n",
    "\n",
    "# combiner.transform() & transer.fit_transform() 转化训练数据，并去掉target列\n",
    "train_woe = transer.fit_transform(c.transform(train_selected), train_selected['target'], exclude=to_drop+['target'])\n",
    "OOT_woe = transer.transform(c.transform(OOT))\n",
    "\n",
    "print(train_woe.head(3))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### <font color='blue'>###  IV. 逐步回归特征筛选</font>\n",
    "---------------\n",
    "\n",
    "6. ***toad.selection.stepwise(dataframe, target='target', estimator='ols', direction='both', criterion='aic', max_iter=None, return_drop=False, exclude=None): ***\n",
    "\n",
    "[逐步回归](reference.html#stepwise-regression)特征筛选，支持向前，向后和双向（推荐）。\n",
    "\n",
    "    - estimator: 用于拟合的模型，支持'ols', 'lr', 'lasso', 'ridge'\n",
    "    \n",
    "    - direction: 逐步回归的方向，支持'forward', 'backward', 'both' （推荐）\n",
    "    \n",
    "    - criterion: 评判标准，支持'aic', 'bic', 'ks', 'auc'\n",
    "    \n",
    "    - max_iter: 最大循环次数\n",
    "    \n",
    "    - return_drop: 是否返回被剔除的列名\n",
    "    \n",
    "    - exclude: 不需要被训练的列名，比如ID列和时间列\n",
    "    \n",
    "***tip: 经验证，direction = 'both'效果最好。estimator =  'ols'以及criterion = 'aic'运行速度快且结果对逻辑回归建模有较好的代表性***\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(43576, 13)\n"
     ]
    }
   ],
   "source": [
    "# 将woe转化后的数据做逐步回归\n",
    "final_data = toad.selection.stepwise(train_woe,target = 'target', estimator='ols', direction = 'both', criterion = 'aic', exclude = to_drop)\n",
    "\n",
    "# 将选出的变量应用于test/OOT数据\n",
    "final_OOT = OOT_woe[final_data.columns]\n",
    "\n",
    "print(final_data.shape) # 逐步回归从31个变量中选出了10个"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 确定建模要用的变量\n",
    "col = list(final_data.drop(to_drop+['target'],axis=1).columns)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "7. ***toad.metrics.PSI(df_train, df_test):***\n",
    "\n",
    "输出每列特征的PSI，可以用于检验WOE转化后的特征稳定性"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "var_d2      0.000254\n",
       "var_d5      0.000012\n",
       "var_d7      0.000079\n",
       "var_d11     0.000191\n",
       "var_b10     0.000209\n",
       "var_b18     0.000026\n",
       "var_b19     0.000049\n",
       "var_b23     0.000037\n",
       "var_l_20    0.000115\n",
       "var_l_68    0.000213\n",
       "dtype: float64"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "toad.metrics.PSI(final_data[col], final_OOT[col])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### <font color='blue'>###  V. 模型检验和评判</font>\n",
    "---------------\n",
    "\n",
    "7. **常用模型评分**: toad. metrics. KS, F1, AUC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/zhouxiyu/anaconda3/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
      "  FutureWarning)\n"
     ]
    }
   ],
   "source": [
    "# 用逻辑回归建模\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "\n",
    "lr = LogisticRegression()\n",
    "lr.fit(final_data[col], final_data['target'])\n",
    "\n",
    "# 预测训练和隔月的OOT\n",
    "pred_train = lr.predict_proba(final_data[col])[:,1]\n",
    "\n",
    "pred_OOT_may =lr.predict_proba(final_OOT.loc[final_OOT.month == '2019-05',col])[:,1]\n",
    "pred_OOT_june =lr.predict_proba(final_OOT.loc[final_OOT.month == '2019-06',col])[:,1]\n",
    "pred_OOT_july =lr.predict_proba(final_OOT.loc[final_OOT.month == '2019-07',col])[:,1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "train KS 0.3707986228750539\n",
      "train AUC 0.75060723924743\n",
      "OOT结果\n",
      "5月 KS 0.3686687175756087\n",
      "6月 KS 0.3495273403486497\n",
      "7月 KS 0.3796914199845523\n"
     ]
    }
   ],
   "source": [
    "from toad.metrics import KS, AUC\n",
    "\n",
    "print('train KS',KS(pred_train, final_data['target']))\n",
    "print('train AUC',AUC(pred_train, final_data['target']))\n",
    "print('OOT结果')\n",
    "print('5月 KS',KS(pred_OOT_may, final_OOT.loc[final_OOT.month == '2019-05','target']))\n",
    "print('6月 KS',KS(pred_OOT_june, final_OOT.loc[final_OOT.month == '2019-06','target']))\n",
    "print('7月 KS',KS(pred_OOT_july, final_OOT.loc[final_OOT.month == '2019-07','target']))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***PSI 同样可以用于验证分数的稳定性***"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.12760761722158315\n",
      "0.1268648506657109\n",
      "0.1268648506657109\n"
     ]
    }
   ],
   "source": [
    "print(toad.metrics.PSI(pred_train,pred_OOT_may))\n",
    "print(toad.metrics.PSI(pred_train,pred_OOT_june))\n",
    "print(toad.metrics.PSI(pred_train,pred_OOT_june))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "8. ***toad.metrics.KS_bucket(predicted_proba, y_true, bucket=10, method = 'quantile'):***\n",
    "\n",
    "KS bucket输出模型预测分箱后评判信息，包括每组的分数区间，样本量，坏账率，KS等\n",
    "\n",
    "    - bucket：分箱的数量\n",
    "    \n",
    "    - method：分箱方法，建议用'quantile'（等人数），或'step' (等分数步长)\n",
    "    \n",
    "<font color='red'> bad_rate为每组坏账率：（1）组之间的坏账率差距越大越好（2）可以用于观察是否有跳点（3）可以用与找最佳切点（4）可以对比</font>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>min</th>\n",
       "      <th>max</th>\n",
       "      <th>bads</th>\n",
       "      <th>goods</th>\n",
       "      <th>total</th>\n",
       "      <th>bad_rate</th>\n",
       "      <th>good_rate</th>\n",
       "      <th>odds</th>\n",
       "      <th>bad_prop</th>\n",
       "      <th>good_prop</th>\n",
       "      <th>total_prop</th>\n",
       "      <th>cum_bads</th>\n",
       "      <th>cum_goods</th>\n",
       "      <th>cum_total</th>\n",
       "      <th>cum_bads_prop</th>\n",
       "      <th>cum_goods_prop</th>\n",
       "      <th>cum_total_prop</th>\n",
       "      <th>ks</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.000275</td>\n",
       "      <td>0.003380</td>\n",
       "      <td>9</td>\n",
       "      <td>4332</td>\n",
       "      <td>4341</td>\n",
       "      <td>0.002073</td>\n",
       "      <td>0.997927</td>\n",
       "      <td>0.002078</td>\n",
       "      <td>0.009688</td>\n",
       "      <td>0.101578</td>\n",
       "      <td>0.099619</td>\n",
       "      <td>9</td>\n",
       "      <td>4332</td>\n",
       "      <td>4341</td>\n",
       "      <td>0.009688</td>\n",
       "      <td>0.101578</td>\n",
       "      <td>0.099619</td>\n",
       "      <td>-0.091890</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.003398</td>\n",
       "      <td>0.005207</td>\n",
       "      <td>12</td>\n",
       "      <td>3585</td>\n",
       "      <td>3597</td>\n",
       "      <td>0.003336</td>\n",
       "      <td>0.996664</td>\n",
       "      <td>0.003347</td>\n",
       "      <td>0.012917</td>\n",
       "      <td>0.084062</td>\n",
       "      <td>0.082545</td>\n",
       "      <td>21</td>\n",
       "      <td>7917</td>\n",
       "      <td>7938</td>\n",
       "      <td>0.022605</td>\n",
       "      <td>0.185640</td>\n",
       "      <td>0.182164</td>\n",
       "      <td>-0.163035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.005207</td>\n",
       "      <td>0.008116</td>\n",
       "      <td>37</td>\n",
       "      <td>5071</td>\n",
       "      <td>5108</td>\n",
       "      <td>0.007244</td>\n",
       "      <td>0.992756</td>\n",
       "      <td>0.007296</td>\n",
       "      <td>0.039828</td>\n",
       "      <td>0.118906</td>\n",
       "      <td>0.117220</td>\n",
       "      <td>58</td>\n",
       "      <td>12988</td>\n",
       "      <td>13046</td>\n",
       "      <td>0.062433</td>\n",
       "      <td>0.304547</td>\n",
       "      <td>0.299385</td>\n",
       "      <td>-0.242114</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.008125</td>\n",
       "      <td>0.010862</td>\n",
       "      <td>26</td>\n",
       "      <td>3854</td>\n",
       "      <td>3880</td>\n",
       "      <td>0.006701</td>\n",
       "      <td>0.993299</td>\n",
       "      <td>0.006746</td>\n",
       "      <td>0.027987</td>\n",
       "      <td>0.090370</td>\n",
       "      <td>0.089040</td>\n",
       "      <td>84</td>\n",
       "      <td>16842</td>\n",
       "      <td>16926</td>\n",
       "      <td>0.090420</td>\n",
       "      <td>0.394916</td>\n",
       "      <td>0.388425</td>\n",
       "      <td>-0.304497</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.010868</td>\n",
       "      <td>0.014651</td>\n",
       "      <td>59</td>\n",
       "      <td>4759</td>\n",
       "      <td>4818</td>\n",
       "      <td>0.012246</td>\n",
       "      <td>0.987754</td>\n",
       "      <td>0.012398</td>\n",
       "      <td>0.063509</td>\n",
       "      <td>0.111590</td>\n",
       "      <td>0.110565</td>\n",
       "      <td>143</td>\n",
       "      <td>21601</td>\n",
       "      <td>21744</td>\n",
       "      <td>0.153929</td>\n",
       "      <td>0.506507</td>\n",
       "      <td>0.498990</td>\n",
       "      <td>-0.352578</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0.014661</td>\n",
       "      <td>0.019846</td>\n",
       "      <td>76</td>\n",
       "      <td>3901</td>\n",
       "      <td>3977</td>\n",
       "      <td>0.019110</td>\n",
       "      <td>0.980890</td>\n",
       "      <td>0.019482</td>\n",
       "      <td>0.081808</td>\n",
       "      <td>0.091472</td>\n",
       "      <td>0.091266</td>\n",
       "      <td>219</td>\n",
       "      <td>25502</td>\n",
       "      <td>25721</td>\n",
       "      <td>0.235737</td>\n",
       "      <td>0.597979</td>\n",
       "      <td>0.590256</td>\n",
       "      <td>-0.362241</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0.019858</td>\n",
       "      <td>0.025968</td>\n",
       "      <td>116</td>\n",
       "      <td>4665</td>\n",
       "      <td>4781</td>\n",
       "      <td>0.024263</td>\n",
       "      <td>0.975737</td>\n",
       "      <td>0.024866</td>\n",
       "      <td>0.124865</td>\n",
       "      <td>0.109386</td>\n",
       "      <td>0.109716</td>\n",
       "      <td>335</td>\n",
       "      <td>30167</td>\n",
       "      <td>30502</td>\n",
       "      <td>0.360603</td>\n",
       "      <td>0.707365</td>\n",
       "      <td>0.699972</td>\n",
       "      <td>-0.346762</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0.025986</td>\n",
       "      <td>0.032467</td>\n",
       "      <td>108</td>\n",
       "      <td>4188</td>\n",
       "      <td>4296</td>\n",
       "      <td>0.025140</td>\n",
       "      <td>0.974860</td>\n",
       "      <td>0.025788</td>\n",
       "      <td>0.116254</td>\n",
       "      <td>0.098202</td>\n",
       "      <td>0.098586</td>\n",
       "      <td>443</td>\n",
       "      <td>34355</td>\n",
       "      <td>34798</td>\n",
       "      <td>0.476857</td>\n",
       "      <td>0.805567</td>\n",
       "      <td>0.798559</td>\n",
       "      <td>-0.328710</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0.032484</td>\n",
       "      <td>0.044998</td>\n",
       "      <td>173</td>\n",
       "      <td>4187</td>\n",
       "      <td>4360</td>\n",
       "      <td>0.039679</td>\n",
       "      <td>0.960321</td>\n",
       "      <td>0.041318</td>\n",
       "      <td>0.186222</td>\n",
       "      <td>0.098178</td>\n",
       "      <td>0.100055</td>\n",
       "      <td>616</td>\n",
       "      <td>38542</td>\n",
       "      <td>39158</td>\n",
       "      <td>0.663079</td>\n",
       "      <td>0.903745</td>\n",
       "      <td>0.898614</td>\n",
       "      <td>-0.240666</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0.045115</td>\n",
       "      <td>0.370055</td>\n",
       "      <td>313</td>\n",
       "      <td>4105</td>\n",
       "      <td>4418</td>\n",
       "      <td>0.070847</td>\n",
       "      <td>0.929153</td>\n",
       "      <td>0.076248</td>\n",
       "      <td>0.336921</td>\n",
       "      <td>0.096255</td>\n",
       "      <td>0.101386</td>\n",
       "      <td>929</td>\n",
       "      <td>42647</td>\n",
       "      <td>43576</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        min       max  bads  goods  total  bad_rate  good_rate      odds  \\\n",
       "0  0.000275  0.003380     9   4332   4341  0.002073   0.997927  0.002078   \n",
       "1  0.003398  0.005207    12   3585   3597  0.003336   0.996664  0.003347   \n",
       "2  0.005207  0.008116    37   5071   5108  0.007244   0.992756  0.007296   \n",
       "3  0.008125  0.010862    26   3854   3880  0.006701   0.993299  0.006746   \n",
       "4  0.010868  0.014651    59   4759   4818  0.012246   0.987754  0.012398   \n",
       "5  0.014661  0.019846    76   3901   3977  0.019110   0.980890  0.019482   \n",
       "6  0.019858  0.025968   116   4665   4781  0.024263   0.975737  0.024866   \n",
       "7  0.025986  0.032467   108   4188   4296  0.025140   0.974860  0.025788   \n",
       "8  0.032484  0.044998   173   4187   4360  0.039679   0.960321  0.041318   \n",
       "9  0.045115  0.370055   313   4105   4418  0.070847   0.929153  0.076248   \n",
       "\n",
       "   bad_prop  good_prop  total_prop  cum_bads  cum_goods  cum_total  \\\n",
       "0  0.009688   0.101578    0.099619         9       4332       4341   \n",
       "1  0.012917   0.084062    0.082545        21       7917       7938   \n",
       "2  0.039828   0.118906    0.117220        58      12988      13046   \n",
       "3  0.027987   0.090370    0.089040        84      16842      16926   \n",
       "4  0.063509   0.111590    0.110565       143      21601      21744   \n",
       "5  0.081808   0.091472    0.091266       219      25502      25721   \n",
       "6  0.124865   0.109386    0.109716       335      30167      30502   \n",
       "7  0.116254   0.098202    0.098586       443      34355      34798   \n",
       "8  0.186222   0.098178    0.100055       616      38542      39158   \n",
       "9  0.336921   0.096255    0.101386       929      42647      43576   \n",
       "\n",
       "   cum_bads_prop  cum_goods_prop  cum_total_prop        ks  \n",
       "0       0.009688        0.101578        0.099619 -0.091890  \n",
       "1       0.022605        0.185640        0.182164 -0.163035  \n",
       "2       0.062433        0.304547        0.299385 -0.242114  \n",
       "3       0.090420        0.394916        0.388425 -0.304497  \n",
       "4       0.153929        0.506507        0.498990 -0.352578  \n",
       "5       0.235737        0.597979        0.590256 -0.362241  \n",
       "6       0.360603        0.707365        0.699972 -0.346762  \n",
       "7       0.476857        0.805567        0.798559 -0.328710  \n",
       "8       0.663079        0.903745        0.898614 -0.240666  \n",
       "9       1.000000        1.000000        1.000000  0.000000  "
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 将预测等频分箱，观测每组的区别\n",
    "toad.metrics.KS_bucket(pred_train, final_data['target'], bucket=10, method = 'quantile')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### <font color='blue'>###  VI. 标准评分卡转化和输出</font>\n",
    "---------------\n",
    "\n",
    "6. **toad.ScoreCard( combiner = {}, transer = None, pdo = 60, rate = 2, base_odds = 20, base_score = 750, card = None, C=0.1,**kwargs): \n",
    "\n",
    "逻辑回归模型转标准评分卡，支持传入逻辑回归参数，进行调参。\n",
    "\n",
    "    - combiner: 传入训练好的 toad.Combiner 对象\n",
    "    \n",
    "    - transer: 传入先前训练的 toad.WOETransformer 对象\n",
    "    \n",
    "    - pdo、rate、base_odds、base_score: \n",
    "     e.g. pdo=60, rate=2, base_odds=20,base_score=750\n",
    "          实际意义为当比率为1/20，输出基准评分750，当比率为基准比率2倍时，基准分下降60分\n",
    "    \n",
    "    - card: 支持传入专家评分卡\n",
    "    \n",
    "    - **kwargs: 支持传入逻辑回归参数（参数详见 sklearn.linear_model.LogisticRegression）\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/zhouxiyu/anaconda3/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
      "  FutureWarning)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "ScoreCard(base_odds=35, base_score=750, card=None,\n",
       "          combiner=<toad.transform.Combiner object at 0x1a2434fdd8>, pdo=60,\n",
       "          rate=2,\n",
       "          transer=<toad.transform.WOETransformer object at 0x1a235a5358>)"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "card = toad.ScoreCard(\n",
    "    combiner = c,\n",
    "    transer = transer,\n",
    "    #class_weight = 'balanced',\n",
    "    #C=0.1,\n",
    "    #base_score = 600,\n",
    "    #base_odds = 35 ,\n",
    "    #pdo = 60,\n",
    "    #rate = 2\n",
    ")\n",
    "\n",
    "card.fit(final_data[col], final_data['target'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`注意!`\n",
    "\n",
    "评分卡在 `fit` 时使用 **WOE** 转换后的数据来计算最终的分数，分数一旦计算完成，便无需 WOE 值，可以直接使用 **原始数据** 进行评分。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 直接使用原始数据进行评分\n",
    "card.predict(train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'var_d2': {'[-inf ~ 747.0)': 65.54,\n",
       "  '[747.0 ~ 782.0)': 45.72,\n",
       "  '[782.0 ~ 820.0)': 88.88,\n",
       "  '[820.0 ~ inf)': 168.3},\n",
       " 'var_d5': {'O,nan': 185.9, 'F': 103.26, 'M': 68.76},\n",
       " 'var_d7': {'LARGE FLEET OPERATOR,COMPANY,STRATEGIC TRANSPRTER,SALARIED,HOUSEWIFE': 120.82,\n",
       "  'DOCTOR-SELF EMPLOYED,nan,SAL(RETIRAL AGE 60),SERVICES,SAL(RETIRAL AGE 58),OTHERS,DOCTOR-SALARIED,AGENT,CONSULTANT,DIRECTOR,MEDIUM FLEETOPERATOR,TRADER,RETAIL TRANSPORTER,MANUFACTURING,FIRST TIME USERS,STUDENT,PENSIONER': 81.32,\n",
       "  'PROPRIETOR,TRADING,STRATEGIC CAPTIVE,SELF-EMPLOYED,SERV-PRIVATE SECTOR,SMALL RD TRANS.OPR,BUSINESSMAN,CARETAKER,RETAIL,AGRICULTURIST,RETIRED PERSONNEL,MANAGER,CONTRACTOR,ACCOUNTANT,BANKS SERVICE,GOVERNMENT SERVICE,ADVISOR,STRATEGIC S1,SCHOOLS,TEACHER,GENARAL RETAILER,RESTAURANT KEEPER,OFFICER,POLICEMAN,SERV-PUBLIC SECTOR,BARRISTER,Salaried,SALESMAN,RETAIL CAPTIVE,Defence (NCO),STRATEGIC S2,OTHERS NOT DEFINED,JEWELLER,SECRETARY,SUP STRAT TRANSPORT,LECTURER,ATTORNEY AT LAW,TAILOR,TECHNICIAN,CLERK,PLANTER,DRIVER,PRIEST,PROGRAMMER,EXECUTIVE ASSISTANT,PROOF READER,STOCKBROKER(S)-COMMD,TYPIST,ADMINSTRATOR,INDUSTRY,PHARMACIST,Trading,TAXI DRIVER,STRATEGIC BUS OP,CHAIRMAN,CARPENTER,DISPENSER,HELPER,STRATEGIC S3,RETAIL BUS OPERATOR,GARAGIST,PRIVATE TAILOR,NURSE': 55.79},\n",
       " 'var_d11': {'N': 88.69, 'U': 23.72},\n",
       " 'var_b10': {'[-inf ~ -8888.0)': 67.76,\n",
       "  '[-8888.0 ~ 0.548229531)': 97.51,\n",
       "  '[0.548229531 ~ inf)': 36.22},\n",
       " 'var_b18': {'[-inf ~ 2)': 83.72, '[2 ~ inf)': 39.23},\n",
       " 'var_b19': {'[-inf ~ -9999)': 70.78, '[-9999 ~ 4)': 97.51, '[4 ~ inf)': 42.2},\n",
       " 'var_b23': {'[-inf ~ -8888)': 64.51, '[-8888 ~ inf)': 102.69},\n",
       " 'var_l_20': {'[-inf ~ 0.000404297)': 78.55,\n",
       "  '[0.000404297 ~ 0.003092244)': 103.85,\n",
       "  '[0.003092244 ~ inf)': 36.21},\n",
       " 'var_l_68': {'[-inf ~ 0.000255689)': 70.63,\n",
       "  '[0.000255689 ~ 0.002045513)': 24.56,\n",
       "  '[0.002045513 ~ 0.007414983000000002)': 66.63,\n",
       "  '[0.007414983000000002 ~ 0.019943748)': 99.55,\n",
       "  '[0.019943748 ~ inf)': 142.36}}"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#输出标准评分卡\n",
    "card.export()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 评分转换逻辑\n",
    "toad 采用标准评分卡转换逻辑进行评分转换，详见 [评分转换逻辑](reference.html#scorecard-transformation)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### <font color='blue'>###  VII. 其他功能</font>\n",
    "\n",
    "--------------------\n",
    "\n",
    "***toad.transform.GBDTTransformer ***\n",
    "\n",
    "用gbdt编码，用于gbdt + lr建模的前置"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/zhouxiyu/anaconda3/lib/python3.7/site-packages/sklearn/preprocessing/_encoders.py:415: FutureWarning: The handling of integer data will change in version 0.22. Currently, the categories are determined based on the range [0, max(values)], while in the future they will be determined based on the unique values.\n",
      "If you want the future behaviour and silence this warning, you can specify \"categories='auto'\".\n",
      "In case you used a LabelEncoder before this OneHotEncoder to convert the categories to integers, then you can now use the OneHotEncoder directly.\n",
      "  warnings.warn(msg, FutureWarning)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<toad.transform.GBDTTransformer at 0x1a2daf60f0>"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gbdt_transer = toad.transform.GBDTTransformer()\n",
    "gbdt_transer.fit(final_data[col+['target']], 'target', n_estimators = 10, max_depth = 2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "gbdt_vars = gbdt_transer.transform(final_data[col])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(43576, 40)"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gbdt_vars.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
